Allow org labels to be set with issue templates (#14593) (#14647)

Backport #14593

Fix #13688

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
zeripath 2021-02-13 18:34:47 +00:00 committed by GitHub
parent 101fb0d7e2
commit a1b74c5509
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -725,6 +725,14 @@ func setTemplateIfExists(ctx *context.Context, ctxDataKey string, possibleDirs [
ctx.Data[ctxDataKey] = templateBody ctx.Data[ctxDataKey] = templateBody
labelIDs := make([]string, 0, len(meta.Labels)) labelIDs := make([]string, 0, len(meta.Labels))
if repoLabels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, "", models.ListOptions{}); err == nil { if repoLabels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, "", models.ListOptions{}); err == nil {
ctx.Data["Labels"] = repoLabels
if ctx.Repo.Owner.IsOrganization() {
if orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.Query("sort"), models.ListOptions{}); err == nil {
ctx.Data["OrgLabels"] = orgLabels
repoLabels = append(repoLabels, orgLabels...)
}
}
for _, metaLabel := range meta.Labels { for _, metaLabel := range meta.Labels {
for _, repoLabel := range repoLabels { for _, repoLabel := range repoLabels {
if strings.EqualFold(repoLabel.Name, metaLabel) { if strings.EqualFold(repoLabel.Name, metaLabel) {
@ -734,7 +742,6 @@ func setTemplateIfExists(ctx *context.Context, ctxDataKey string, possibleDirs [
} }
} }
} }
ctx.Data["Labels"] = repoLabels
} }
ctx.Data["HasSelectedLabel"] = len(labelIDs) > 0 ctx.Data["HasSelectedLabel"] = len(labelIDs) > 0
ctx.Data["label_ids"] = strings.Join(labelIDs, ",") ctx.Data["label_ids"] = strings.Join(labelIDs, ",")