mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-30 19:15:23 +01:00 
			
		
		
		
	Show label list on label set (#9251)
* Showing the list of labels of template files #7812 * Returning and logging errors when loading labels * Commenting public method * Change log level in case of error loading labels.
This commit is contained in:
		
							parent
							
								
									eba816e826
								
							
						
					
					
						commit
						1583c48e3a
					
				| @ -132,6 +132,25 @@ func (label *Label) ForegroundColor() template.CSS { | |||||||
| 	return template.CSS("#000") | 	return template.CSS("#000") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func loadLabels(labelTemplate string) ([]string, error) { | ||||||
|  | 	list, err := GetLabelTemplateFile(labelTemplate) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, ErrIssueLabelTemplateLoad{labelTemplate, err} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	labels := make([]string, len(list)) | ||||||
|  | 	for i := 0; i < len(list); i++ { | ||||||
|  | 		labels[i] = list[i][0] | ||||||
|  | 	} | ||||||
|  | 	return labels, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // LoadLabelsFormatted loads the labels' list of a template file as a string separated by comma | ||||||
|  | func LoadLabelsFormatted(labelTemplate string) (string, error) { | ||||||
|  | 	labels, err := loadLabels(labelTemplate) | ||||||
|  | 	return strings.Join(labels, ", "), err | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func initalizeLabels(e Engine, repoID int64, labelTemplate string) error { | func initalizeLabels(e Engine, repoID int64, labelTemplate string) error { | ||||||
| 	list, err := GetLabelTemplateFile(labelTemplate) | 	list, err := GetLabelTemplateFile(labelTemplate) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|  | |||||||
| @ -64,8 +64,8 @@ var ( | |||||||
| 	// Readmes contains the readme files | 	// Readmes contains the readme files | ||||||
| 	Readmes []string | 	Readmes []string | ||||||
| 
 | 
 | ||||||
| 	// LabelTemplates contains the label template files | 	// LabelTemplates contains the label template files and the list of labels for each file | ||||||
| 	LabelTemplates []string | 	LabelTemplates map[string]string | ||||||
| 
 | 
 | ||||||
| 	// ItemsPerPage maximum items per page in forks, watchers and stars of a repo | 	// ItemsPerPage maximum items per page in forks, watchers and stars of a repo | ||||||
| 	ItemsPerPage = 40 | 	ItemsPerPage = 40 | ||||||
| @ -100,11 +100,21 @@ func loadRepoConfig() { | |||||||
| 	Gitignores = typeFiles[0] | 	Gitignores = typeFiles[0] | ||||||
| 	Licenses = typeFiles[1] | 	Licenses = typeFiles[1] | ||||||
| 	Readmes = typeFiles[2] | 	Readmes = typeFiles[2] | ||||||
| 	LabelTemplates = typeFiles[3] | 	LabelTemplatesFiles := typeFiles[3] | ||||||
| 	sort.Strings(Gitignores) | 	sort.Strings(Gitignores) | ||||||
| 	sort.Strings(Licenses) | 	sort.Strings(Licenses) | ||||||
| 	sort.Strings(Readmes) | 	sort.Strings(Readmes) | ||||||
| 	sort.Strings(LabelTemplates) | 	sort.Strings(LabelTemplatesFiles) | ||||||
|  | 
 | ||||||
|  | 	// Load label templates | ||||||
|  | 	LabelTemplates = make(map[string]string) | ||||||
|  | 	for _, templateFile := range LabelTemplatesFiles { | ||||||
|  | 		labels, err := LoadLabelsFormatted(templateFile) | ||||||
|  | 		if err != nil { | ||||||
|  | 			log.Error("Failed to load labels: %v", err) | ||||||
|  | 		} | ||||||
|  | 		LabelTemplates[templateFile] = labels | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| 	// Filter out invalid names and promote preferred licenses. | 	// Filter out invalid names and promote preferred licenses. | ||||||
| 	sortedLicenses := make([]string, 0, len(Licenses)) | 	sortedLicenses := make([]string, 0, len(Licenses)) | ||||||
|  | |||||||
| @ -109,8 +109,8 @@ | |||||||
| 								<div class="default text">{{.i18n.Tr "repo.issue_labels_helper"}}</div> | 								<div class="default text">{{.i18n.Tr "repo.issue_labels_helper"}}</div> | ||||||
| 								<div class="menu"> | 								<div class="menu"> | ||||||
| 									<div class="item" data-value="">{{.i18n.Tr "repo.issue_labels_helper"}}</div> | 									<div class="item" data-value="">{{.i18n.Tr "repo.issue_labels_helper"}}</div> | ||||||
| 									{{range .LabelTemplates}} | 									{{range $template, $labels := .LabelTemplates}} | ||||||
| 										<div class="item" data-value="{{.}}">{{.}}</div> | 										<div class="item" data-value="{{$template}}">{{$template}}<br/><i>({{$labels}})</i></div> | ||||||
| 									{{end}} | 									{{end}} | ||||||
| 								</div> | 								</div> | ||||||
| 							</div> | 							</div> | ||||||
|  | |||||||
| @ -79,8 +79,8 @@ | |||||||
| 										<input type="hidden" name="template_name" value="Default"> | 										<input type="hidden" name="template_name" value="Default"> | ||||||
| 										<div class="default text">{{.i18n.Tr "repo.issues.label_templates.helper"}}</div> | 										<div class="default text">{{.i18n.Tr "repo.issues.label_templates.helper"}}</div> | ||||||
| 										<div class="menu"> | 										<div class="menu"> | ||||||
| 											{{range .LabelTemplates}} | 											{{range $template, $labels := .LabelTemplates}} | ||||||
| 											<div class="item" data-value="{{.}}">{{.}}</div> | 												<div class="item" data-value="{{$template}}">{{$template}}<br/><i>({{$labels}})</i></div> | ||||||
| 											{{end}} | 											{{end}} | ||||||
| 										</div> | 										</div> | ||||||
| 									</div> | 									</div> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user