func InitializeLabels(ctx *context.Context, form auth.InitializeLabelsForm) { if ctx.HasError() { 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], Color: list[i][1], } } if err := models.NewLabels(labels...); err != nil { ctx.Handle(500, "NewLabels", err) return } ctx.Redirect(ctx.Repo.RepoLink + "/labels") }
func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) { if !ctx.Repo.IsWriter() { ctx.Status(403) return } label := &models.Label{ Name: form.Name, Color: form.Color, RepoID: ctx.Repo.Repository.ID, } if err := models.NewLabels(label); err != nil { ctx.Error(500, "NewLabel", err) return } ctx.JSON(201, label.APIFormat()) }
func NewLabel(ctx *context.Context, form auth.CreateLabelForm) { ctx.Data["Title"] = ctx.Tr("repo.labels") ctx.Data["PageIsLabels"] = true if ctx.HasError() { ctx.Flash.Error(ctx.Data["ErrorMsg"].(string)) ctx.Redirect(ctx.Repo.RepoLink + "/labels") return } l := &models.Label{ RepoID: ctx.Repo.Repository.ID, Name: form.Title, Color: form.Color, } if err := models.NewLabels(l); err != nil { ctx.Handle(500, "NewLabel", err) return } ctx.Redirect(ctx.Repo.RepoLink + "/labels") }