From 0118b6aaf8ada3edd67cb975c776f6f124178ad2 Mon Sep 17 00:00:00 2001 From: John Olheiser <42128690+jolheiser@users.noreply.github.com> Date: Sun, 8 Sep 2019 03:28:40 -0500 Subject: 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 * Add issue labels to Swagger for repo creation Signed-off-by: jolheiser * Update models/issue_label.go Co-Authored-By: Lauris BH * Update models/issue_label.go Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> --- routers/repo/issue_label.go | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) (limited to 'routers/repo/issue_label.go') 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") -- cgit v1.2.3