forked from NYANDEV/forgejo
Add IsTemplate option in create repo ui and api (#12942)
Signed-off-by: a1012112796 <1012112796@qq.com> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
parent
7a7f56044a
commit
3c360801b3
9 changed files with 20 additions and 0 deletions
|
@ -48,6 +48,7 @@ func doAPICreateRepository(ctx APITestContext, empty bool, callback ...func(*tes
|
|||
Description: "Temporary repo",
|
||||
Name: ctx.Reponame,
|
||||
Private: true,
|
||||
Template: true,
|
||||
Gitignores: "",
|
||||
License: "WTFPL",
|
||||
Readme: "Default",
|
||||
|
|
|
@ -1083,6 +1083,7 @@ type CreateRepoOptions struct {
|
|||
DefaultBranch string
|
||||
IsPrivate bool
|
||||
IsMirror bool
|
||||
IsTemplate bool
|
||||
AutoInit bool
|
||||
Status RepositoryStatus
|
||||
TrustModel TrustModelType
|
||||
|
|
|
@ -38,6 +38,7 @@ type CreateRepoForm struct {
|
|||
IssueLabels string
|
||||
License string
|
||||
Readme string
|
||||
Template bool
|
||||
|
||||
RepoTemplate int64
|
||||
GitContent bool
|
||||
|
|
|
@ -40,6 +40,7 @@ func CreateRepository(doer, u *models.User, opts models.CreateRepoOptions) (*mod
|
|||
OriginalServiceType: opts.GitServiceType,
|
||||
IsPrivate: opts.IsPrivate,
|
||||
IsFsckEnabled: !opts.IsMirror,
|
||||
IsTemplate: opts.IsTemplate,
|
||||
CloseIssuesViaCommitInAnyBranch: setting.Repository.DefaultCloseIssuesViaCommitsInAnyBranch,
|
||||
Status: opts.Status,
|
||||
IsEmpty: !opts.AutoInit,
|
||||
|
|
|
@ -109,6 +109,8 @@ type CreateRepoOption struct {
|
|||
IssueLabels string `json:"issue_labels"`
|
||||
// Whether the repository should be auto-intialized?
|
||||
AutoInit bool `json:"auto_init"`
|
||||
// Whether the repository is template
|
||||
Template bool `json:"template"`
|
||||
// Gitignores to use
|
||||
Gitignores string `json:"gitignores"`
|
||||
// License to use
|
||||
|
|
|
@ -245,6 +245,7 @@ func CreateUserRepo(ctx *context.APIContext, owner *models.User, opt api.CreateR
|
|||
AutoInit: opt.AutoInit,
|
||||
DefaultBranch: opt.DefaultBranch,
|
||||
TrustModel: models.ToTrustModel(opt.TrustModel),
|
||||
IsTemplate: opt.Template,
|
||||
})
|
||||
if err != nil {
|
||||
if models.IsErrRepoAlreadyExist(err) {
|
||||
|
|
|
@ -250,6 +250,7 @@ func CreatePost(ctx *context.Context, form auth.CreateRepoForm) {
|
|||
IsPrivate: form.Private || setting.Repository.ForcePrivate,
|
||||
DefaultBranch: form.DefaultBranch,
|
||||
AutoInit: form.AutoInit,
|
||||
IsTemplate: form.Template,
|
||||
TrustModel: models.ToTrustModel(form.TrustModel),
|
||||
})
|
||||
if err == nil {
|
||||
|
|
|
@ -181,6 +181,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inline field">
|
||||
<label>{{.i18n.Tr "repo.template"}}</label>
|
||||
<div class="ui checkbox">
|
||||
<input class="hidden" name="template" type="checkbox" tabindex="0">
|
||||
<label>{{.i18n.Tr "repo.template_helper"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
|
|
@ -12063,6 +12063,11 @@
|
|||
"type": "string",
|
||||
"x-go-name": "Readme"
|
||||
},
|
||||
"template": {
|
||||
"description": "Whether the repository is template",
|
||||
"type": "boolean",
|
||||
"x-go-name": "Template"
|
||||
},
|
||||
"trust_model": {
|
||||
"description": "TrustModel of the repository",
|
||||
"type": "string",
|
||||
|
|
Loading…
Reference in a new issue