File tree Expand file tree Collapse file tree 4 files changed +37
-8
lines changed Expand file tree Collapse file tree 4 files changed +37
-8
lines changed Original file line number Diff line number Diff line change @@ -132,6 +132,25 @@ func (label *Label) ForegroundColor() template.CSS {
132132 return template .CSS ("#000" )
133133}
134134
135+ func loadLabels (labelTemplate string ) ([]string , error ) {
136+ list , err := GetLabelTemplateFile (labelTemplate )
137+ if err != nil {
138+ return nil , ErrIssueLabelTemplateLoad {labelTemplate , err }
139+ }
140+
141+ labels := make ([]string , len (list ))
142+ for i := 0 ; i < len (list ); i ++ {
143+ labels [i ] = list [i ][0 ]
144+ }
145+ return labels , nil
146+ }
147+
148+ // LoadLabelsFormatted loads the labels' list of a template file as a string separated by comma
149+ func LoadLabelsFormatted (labelTemplate string ) (string , error ) {
150+ labels , err := loadLabels (labelTemplate )
151+ return strings .Join (labels , ", " ), err
152+ }
153+
135154func initalizeLabels (e Engine , repoID int64 , labelTemplate string ) error {
136155 list , err := GetLabelTemplateFile (labelTemplate )
137156 if err != nil {
Original file line number Diff line number Diff line change 6464 // Readmes contains the readme files
6565 Readmes []string
6666
67- // LabelTemplates contains the label template files
68- LabelTemplates [ ]string
67+ // LabelTemplates contains the label template files and the list of labels for each file
68+ LabelTemplates map [ string ]string
6969
7070 // ItemsPerPage maximum items per page in forks, watchers and stars of a repo
7171 ItemsPerPage = 40
@@ -100,11 +100,21 @@ func loadRepoConfig() {
100100 Gitignores = typeFiles [0 ]
101101 Licenses = typeFiles [1 ]
102102 Readmes = typeFiles [2 ]
103- LabelTemplates = typeFiles [3 ]
103+ LabelTemplatesFiles : = typeFiles [3 ]
104104 sort .Strings (Gitignores )
105105 sort .Strings (Licenses )
106106 sort .Strings (Readmes )
107- sort .Strings (LabelTemplates )
107+ sort .Strings (LabelTemplatesFiles )
108+
109+ // Load label templates
110+ LabelTemplates = make (map [string ]string )
111+ for _ , templateFile := range LabelTemplatesFiles {
112+ labels , err := LoadLabelsFormatted (templateFile )
113+ if err != nil {
114+ log .Error ("Failed to load labels: %v" , err )
115+ }
116+ LabelTemplates [templateFile ] = labels
117+ }
108118
109119 // Filter out invalid names and promote preferred licenses.
110120 sortedLicenses := make ([]string , 0 , len (Licenses ))
Original file line number Diff line number Diff line change 109109 <div class="default text">{{.i18n.Tr "repo.issue_labels_helper"}}</div>
110110 <div class="menu">
111111 <div class="item" data-value="">{{.i18n.Tr "repo.issue_labels_helper"}}</div>
112- {{range .LabelTemplates}}
113- <div class="item" data-value="{{. }}">{{.}} </div>
112+ {{range $template, $labels := .LabelTemplates}}
113+ <div class="item" data-value="{{$template }}">{{$template}}<br/><i>({{$labels}})</i> </div>
114114 {{end}}
115115 </div>
116116 </div>
Original file line number Diff line number Diff line change 7979 <input type="hidden" name="template_name" value="Default">
8080 <div class="default text">{{.i18n.Tr "repo.issues.label_templates.helper"}}</div>
8181 <div class="menu">
82- {{range .LabelTemplates}}
83- <div class="item" data-value="{{. }}">{{.}} </div>
82+ {{range $template, $labels := .LabelTemplates}}
83+ <div class="item" data-value="{{$template }}">{{$template}}<br/><i>({{$labels}})</i> </div>
8484 {{end}}
8585 </div>
8686 </div>
You can’t perform that action at this time.
0 commit comments