diff options
author | John Olheiser <42128690+jolheiser@users.noreply.github.com> | 2019-09-08 03:28:40 -0500 |
---|---|---|
committer | Lauris BH <lauris.buksis@zzdats.lv> | 2019-09-08 11:28:40 +0300 |
commit | 0118b6aaf8ada3edd67cb975c776f6f124178ad2 (patch) | |
tree | 8e96203d74de6c4bc7f8eb2a5751a8d218f3ffd3 /routers/repo/issue_label.go | |
parent | d4e11ebb18df4bd01f509f673d536e093edb124a (diff) | |
download | gitea-0118b6aaf8ada3edd67cb975c776f6f124178ad2.tar.gz gitea-0118b6aaf8ada3edd67cb975c776f6f124178ad2.zip |
Add option to initialize repository with labels (#6061)
* Add optional label sets on repo creation
* Fix CRLF
* Instead of hardcoding default, make it the helper
* Move label set init out of repo init
Add a new error for the router
Combine router label init with repo creation label init
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Add issue labels to Swagger for repo creation
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Update models/issue_label.go
Co-Authored-By: Lauris BH <lauris@nix.lv>
* Update models/issue_label.go
Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
Diffstat (limited to 'routers/repo/issue_label.go')
-rw-r--r-- | routers/repo/issue_label.go | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/routers/repo/issue_label.go b/routers/repo/issue_label.go index cae6535c79..452a0a4c0c 100644 --- a/routers/repo/issue_label.go +++ b/routers/repo/issue_label.go @@ -33,24 +33,15 @@ func InitializeLabels(ctx *context.Context, form auth.InitializeLabelsForm) { ctx.Redirect(ctx.Repo.RepoLink + "/labels") return } - list, err := models.GetLabelTemplateFile(form.TemplateName) - if err != nil { - ctx.Flash.Error(ctx.Tr("repo.issues.label_templates.fail_to_load_file", form.TemplateName, err)) - ctx.Redirect(ctx.Repo.RepoLink + "/labels") - return - } - labels := make([]*models.Label, len(list)) - for i := 0; i < len(list); i++ { - labels[i] = &models.Label{ - RepoID: ctx.Repo.Repository.ID, - Name: list[i][0], - Description: list[i][2], - Color: list[i][1], + if err := models.InitalizeLabels(ctx.Repo.Repository.ID, form.TemplateName); err != nil { + if models.IsErrIssueLabelTemplateLoad(err) { + originalErr := err.(models.ErrIssueLabelTemplateLoad).OriginalError + ctx.Flash.Error(ctx.Tr("repo.issues.label_templates.fail_to_load_file", form.TemplateName, originalErr)) + ctx.Redirect(ctx.Repo.RepoLink + "/labels") + return } - } - if err := models.NewLabels(labels...); err != nil { - ctx.ServerError("NewLabels", err) + ctx.ServerError("InitalizeLabels", err) return } ctx.Redirect(ctx.Repo.RepoLink + "/labels") |