mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00: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:
		 Oscar Costa
					Oscar Costa
				
			
				
					committed by
					
						 techknowlogick
						techknowlogick
					
				
			
			
				
	
			
			
			 techknowlogick
						techknowlogick
					
				
			
						parent
						
							eba816e826
						
					
				
				
					commit
					1583c48e3a
				
			| @@ -132,6 +132,25 @@ func (label *Label) ForegroundColor() template.CSS { | ||||
| 	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 { | ||||
| 	list, err := GetLabelTemplateFile(labelTemplate) | ||||
| 	if err != nil { | ||||
|   | ||||
| @@ -64,8 +64,8 @@ var ( | ||||
| 	// Readmes contains the readme files | ||||
| 	Readmes []string | ||||
|  | ||||
| 	// LabelTemplates contains the label template files | ||||
| 	LabelTemplates []string | ||||
| 	// LabelTemplates contains the label template files and the list of labels for each file | ||||
| 	LabelTemplates map[string]string | ||||
|  | ||||
| 	// ItemsPerPage maximum items per page in forks, watchers and stars of a repo | ||||
| 	ItemsPerPage = 40 | ||||
| @@ -100,11 +100,21 @@ func loadRepoConfig() { | ||||
| 	Gitignores = typeFiles[0] | ||||
| 	Licenses = typeFiles[1] | ||||
| 	Readmes = typeFiles[2] | ||||
| 	LabelTemplates = typeFiles[3] | ||||
| 	LabelTemplatesFiles := typeFiles[3] | ||||
| 	sort.Strings(Gitignores) | ||||
| 	sort.Strings(Licenses) | ||||
| 	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. | ||||
| 	sortedLicenses := make([]string, 0, len(Licenses)) | ||||
|   | ||||
| @@ -109,8 +109,8 @@ | ||||
| 								<div class="default text">{{.i18n.Tr "repo.issue_labels_helper"}}</div> | ||||
| 								<div class="menu"> | ||||
| 									<div class="item" data-value="">{{.i18n.Tr "repo.issue_labels_helper"}}</div> | ||||
| 									{{range .LabelTemplates}} | ||||
| 										<div class="item" data-value="{{.}}">{{.}}</div> | ||||
| 									{{range $template, $labels := .LabelTemplates}} | ||||
| 										<div class="item" data-value="{{$template}}">{{$template}}<br/><i>({{$labels}})</i></div> | ||||
| 									{{end}} | ||||
| 								</div> | ||||
| 							</div> | ||||
|   | ||||
| @@ -79,8 +79,8 @@ | ||||
| 										<input type="hidden" name="template_name" value="Default"> | ||||
| 										<div class="default text">{{.i18n.Tr "repo.issues.label_templates.helper"}}</div> | ||||
| 										<div class="menu"> | ||||
| 											{{range .LabelTemplates}} | ||||
| 											<div class="item" data-value="{{.}}">{{.}}</div> | ||||
| 											{{range $template, $labels := .LabelTemplates}} | ||||
| 												<div class="item" data-value="{{$template}}">{{$template}}<br/><i>({{$labels}})</i></div> | ||||
| 											{{end}} | ||||
| 										</div> | ||||
| 									</div> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user