Browse Source

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>
mj-v1.14.3
赵智超 2 years ago
committed by GitHub
parent
commit
3c360801b3
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      integrations/api_helper_for_declarative_test.go
  2. 1
      models/repo.go
  3. 1
      modules/auth/repo_form.go
  4. 1
      modules/repository/create.go
  5. 2
      modules/structs/repo.go
  6. 1
      routers/api/v1/repo/repo.go
  7. 1
      routers/repo/repo.go
  8. 7
      templates/repo/create.tmpl
  9. 5
      templates/swagger/v1_json.tmpl

1
integrations/api_helper_for_declarative_test.go

@ -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
models/repo.go

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

1
modules/auth/repo_form.go

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

1
modules/repository/create.go

@ -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
modules/structs/repo.go

@ -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
routers/api/v1/repo/repo.go

@ -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
routers/repo/repo.go

@ -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
templates/repo/create.tmpl

@ -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
templates/swagger/v1_json.tmpl

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