mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 02:46:04 +01:00 
			
		
		
		
	Use project.IconName instead of repeated unreadable if-else chains (#23538)
				
					
				
			The project type will be changed in https://github.com/go-gitea/gitea/pull/23353, so the old fix https://github.com/go-gitea/gitea/pull/23325 will not work as well. And I also found that there were some problems in the old fix.... --------- Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
		| @@ -144,10 +144,21 @@ func (p *Project) Link() string { | |||||||
| 	return "" | 	return "" | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (p *Project) IconName() string { | ||||||
|  | 	if p.IsRepositoryProject() { | ||||||
|  | 		return "octicon-project" | ||||||
|  | 	} | ||||||
|  | 	return "octicon-project-symlink" | ||||||
|  | } | ||||||
|  |  | ||||||
| func (p *Project) IsOrganizationProject() bool { | func (p *Project) IsOrganizationProject() bool { | ||||||
| 	return p.Type == TypeOrganization | 	return p.Type == TypeOrganization | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (p *Project) IsRepositoryProject() bool { | ||||||
|  | 	return p.Type == TypeRepository | ||||||
|  | } | ||||||
|  |  | ||||||
| func init() { | func init() { | ||||||
| 	db.RegisterModel(new(Project)) | 	db.RegisterModel(new(Project)) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -38,7 +38,7 @@ | |||||||
| 		<div class="milestone list"> | 		<div class="milestone list"> | ||||||
| 			{{range .Projects}} | 			{{range .Projects}} | ||||||
| 				<li class="item"> | 				<li class="item"> | ||||||
| 					{{svg "octicon-project-symlink"}} <a href="{{.Link}}">{{.Title}}</a> | 					{{svg .IconName}} <a href="{{.Link}}">{{.Title}}</a> | ||||||
| 					<div class="meta"> | 					<div class="meta"> | ||||||
| 						{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | 						{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | ||||||
| 						{{if .IsClosed}} | 						{{if .IsClosed}} | ||||||
|   | |||||||
| @@ -100,8 +100,7 @@ | |||||||
| 								</div> | 								</div> | ||||||
| 								{{range .OpenProjects}} | 								{{range .OpenProjects}} | ||||||
| 									<a class="{{if $.ProjectID}}{{if eq $.ProjectID .ID}}active selected{{end}}{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{.ID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}"> | 									<a class="{{if $.ProjectID}}{{if eq $.ProjectID .ID}}active selected{{end}}{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{.ID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}"> | ||||||
| 										{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 										{{svg .IconName 18 "gt-mr-3"}}{{.Title}} | ||||||
| 										{{.Title}} |  | ||||||
| 									</a> | 									</a> | ||||||
| 								{{end}} | 								{{end}} | ||||||
| 							{{end}} | 							{{end}} | ||||||
| @@ -112,8 +111,7 @@ | |||||||
| 								</div> | 								</div> | ||||||
| 								{{range .ClosedProjects}} | 								{{range .ClosedProjects}} | ||||||
| 									<a class="{{if $.ProjectID}}{{if eq $.ProjectID .ID}}active selected{{end}}{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{.ID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}"> | 									<a class="{{if $.ProjectID}}{{if eq $.ProjectID .ID}}active selected{{end}}{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{.ID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}"> | ||||||
| 										{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 										{{svg .IconName 18 "gt-mr-3"}}{{.Title}} | ||||||
| 										{{.Title}} |  | ||||||
| 									</a> | 									</a> | ||||||
| 								{{end}} | 								{{end}} | ||||||
| 							{{end}} | 							{{end}} | ||||||
| @@ -273,8 +271,7 @@ | |||||||
| 								</div> | 								</div> | ||||||
| 								{{range .OpenProjects}} | 								{{range .OpenProjects}} | ||||||
| 									<div class="item issue-action" data-element-id="{{.ID}}" data-url="{{$.RepoLink}}/issues/projects"> | 									<div class="item issue-action" data-element-id="{{.ID}}" data-url="{{$.RepoLink}}/issues/projects"> | ||||||
| 										{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 										{{svg .IconName 18 "gt-mr-3"}}{{.Title}} | ||||||
| 										{{.Title}} |  | ||||||
| 									</div> | 									</div> | ||||||
| 								{{end}} | 								{{end}} | ||||||
| 							{{end}} | 							{{end}} | ||||||
| @@ -285,8 +282,7 @@ | |||||||
| 								</div> | 								</div> | ||||||
| 								{{range .ClosedProjects}} | 								{{range .ClosedProjects}} | ||||||
| 									<div class="item issue-action" data-element-id="{{.ID}}" data-url="{{$.RepoLink}}/issues/projects"> | 									<div class="item issue-action" data-element-id="{{.ID}}" data-url="{{$.RepoLink}}/issues/projects"> | ||||||
| 										{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 										{{svg .IconName 18 "gt-mr-3"}}{{.Title}} | ||||||
| 										{{.Title}} |  | ||||||
| 									</div> | 									</div> | ||||||
| 								{{end}} | 								{{end}} | ||||||
| 							{{end}} | 							{{end}} | ||||||
|   | |||||||
| @@ -134,8 +134,7 @@ | |||||||
| 							</div> | 							</div> | ||||||
| 							{{range .OpenProjects}} | 							{{range .OpenProjects}} | ||||||
| 								<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}"> | 								<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}"> | ||||||
| 									{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 									{{svg .IconName 18 "gt-mr-3"}}{{.Title}} | ||||||
| 									{{.Title}} |  | ||||||
| 								</a> | 								</a> | ||||||
| 							{{end}} | 							{{end}} | ||||||
| 						{{end}} | 						{{end}} | ||||||
| @@ -146,8 +145,7 @@ | |||||||
| 							</div> | 							</div> | ||||||
| 							{{range .ClosedProjects}} | 							{{range .ClosedProjects}} | ||||||
| 								<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}"> | 								<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}"> | ||||||
| 									{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 									{{svg .IconName 18 "gt-mr-3"}}{{.Title}} | ||||||
| 									{{.Title}} |  | ||||||
| 								</a> | 								</a> | ||||||
| 							{{end}} | 							{{end}} | ||||||
| 						{{end}} | 						{{end}} | ||||||
| @@ -159,8 +157,7 @@ | |||||||
| 				<div class="selected"> | 				<div class="selected"> | ||||||
| 					{{if .Project}} | 					{{if .Project}} | ||||||
| 						<a class="item muted sidebar-item-link" href="{{.Project.Link}}"> | 						<a class="item muted sidebar-item-link" href="{{.Project.Link}}"> | ||||||
| 							{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 							{{svg .Project.IconName 18 "gt-mr-3"}}{{.Project.Title}} | ||||||
| 							{{.Project.Title}} |  | ||||||
| 						</a> | 						</a> | ||||||
| 					{{end}} | 					{{end}} | ||||||
| 				</div> | 				</div> | ||||||
|   | |||||||
| @@ -196,8 +196,7 @@ | |||||||
| 						</div> | 						</div> | ||||||
| 						{{range .OpenProjects}} | 						{{range .OpenProjects}} | ||||||
| 							<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}"> | 							<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}"> | ||||||
| 								{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 								{{svg .IconName 18 "gt-mr-3"}}{{.Title}} | ||||||
| 								{{.Title}} |  | ||||||
| 							</a> | 							</a> | ||||||
| 						{{end}} | 						{{end}} | ||||||
| 					{{end}} | 					{{end}} | ||||||
| @@ -208,8 +207,7 @@ | |||||||
| 						</div> | 						</div> | ||||||
| 						{{range .ClosedProjects}} | 						{{range .ClosedProjects}} | ||||||
| 							<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}"> | 							<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}"> | ||||||
| 								{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 								{{svg .IconName 18 "gt-mr-3"}}{{.Title}} | ||||||
| 								{{.Title}} |  | ||||||
| 							</a> | 							</a> | ||||||
| 						{{end}} | 						{{end}} | ||||||
| 					{{end}} | 					{{end}} | ||||||
| @@ -220,8 +218,7 @@ | |||||||
| 				<div class="selected"> | 				<div class="selected"> | ||||||
| 					{{if .Issue.ProjectID}} | 					{{if .Issue.ProjectID}} | ||||||
| 						<a class="item muted sidebar-item-link" href="{{.Issue.Project.Link}}"> | 						<a class="item muted sidebar-item-link" href="{{.Issue.Project.Link}}"> | ||||||
| 							{{if .IsOrganizationProject}}{{svg "octicon-project-symlink" 18 "gt-mr-3"}}{{else}}{{svg "octicon-project" 18 "gt-mr-3"}}{{end}} | 							{{svg .Issue.Project.IconName 18 "gt-mr-3"}}{{.Issue.Project.Title}} | ||||||
| 							{{.Issue.Project.Title}} |  | ||||||
| 						</a> | 						</a> | ||||||
| 					{{end}} | 					{{end}} | ||||||
| 				</div> | 				</div> | ||||||
|   | |||||||
| @@ -40,7 +40,7 @@ | |||||||
| 		<div class="milestone list"> | 		<div class="milestone list"> | ||||||
| 			{{range .Projects}} | 			{{range .Projects}} | ||||||
| 				<li class="item"> | 				<li class="item"> | ||||||
| 					{{svg "octicon-project"}} <a href="{{.Link}}">{{.Title}}</a> | 					{{svg .IconName}} <a href="{{.Link}}">{{.Title}}</a> | ||||||
| 					<div class="meta"> | 					<div class="meta"> | ||||||
| 						{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | 						{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | ||||||
| 						{{if .IsClosed}} | 						{{if .IsClosed}} | ||||||
|   | |||||||
| @@ -88,7 +88,7 @@ | |||||||
| 					{{end}} | 					{{end}} | ||||||
| 					{{if .Project}} | 					{{if .Project}} | ||||||
| 						<a class="project" href="{{.Project.Link}}"> | 						<a class="project" href="{{.Project.Link}}"> | ||||||
| 							{{if .Project.IsOrganizationProject}}{{svg "octicon-project-symlink" 14 "gt-mr-2"}}{{else}}{{svg "octicon-project" 14 "gt-mr-2"}}{{end}}{{.Project.Title}} | 							{{svg .Project.IconName 14 "gt-mr-2"}}{{.Project.Title}} | ||||||
| 						</a> | 						</a> | ||||||
| 					{{end}} | 					{{end}} | ||||||
| 					{{if .Ref}} | 					{{if .Ref}} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user