Browse Source

Add IsTemplate option in create repo ui and api (#12942)

Signed-off-by: a101211279 <1012112796@qq.com>

Co-authored-by: Lauris BH <lauris@nix.lv>
tags/v1.13.0-rc1
赵智超 3 years ago
parent
commit
3c360801b3
No account linked to committer's email address

+ 1
- 0
integrations/api_helper_for_declarative_test.go View File

@@ -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",

+ 1
- 0
models/repo.go View File

@@ -1083,6 +1083,7 @@ type CreateRepoOptions struct {
DefaultBranch string
IsPrivate bool
IsMirror bool
IsTemplate bool
AutoInit bool
Status RepositoryStatus
TrustModel TrustModelType

+ 1
- 0
modules/auth/repo_form.go View File

@@ -38,6 +38,7 @@ type CreateRepoForm struct {
IssueLabels string
License string
Readme string
Template bool

RepoTemplate int64
GitContent bool

+ 1
- 0
modules/repository/create.go View File

@@ -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,

+ 2
- 0
modules/structs/repo.go View File

@@ -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

+ 1
- 0
routers/api/v1/repo/repo.go View File

@@ -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) {

+ 1
- 0
routers/repo/repo.go View File

@@ -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 {

+ 7
- 0
templates/repo/create.tmpl View File

@@ -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/>

+ 5
- 0
templates/swagger/v1_json.tmpl View File

@@ -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…
Cancel
Save