mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08: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:
		
				
					committed by
					
						
						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