mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 00:02:20 -05:00 
			
		
		
		
	Prevent 404 on new pull request button on forked fork owned by the owner of the root repository. Also ensure that the names make sense. Signed-off-by: Andrew Thornton <art27@cantab.net>
		
			
				
	
	
		
			148 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
			
		
		
	
	
			148 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
{{template "base/head" .}}
 | 
						|
<div class="page-content repository diff {{if .PageIsComparePull}}compare pull{{end}}">
 | 
						|
	{{template "repo/header" .}}
 | 
						|
	<div class="ui container {{if .IsSplitStyle}}fluid padded{{end}}">
 | 
						|
 | 
						|
	{{if .PageIsComparePull}}
 | 
						|
		<h2 class="ui header">
 | 
						|
			{{if and $.IsSigned (not .Repository.IsArchived)}}
 | 
						|
				{{.i18n.Tr "repo.pulls.compare_changes"}}
 | 
						|
				<div class="sub header">{{.i18n.Tr "repo.pulls.compare_changes_desc"}}</div>
 | 
						|
			{{ else }}
 | 
						|
				{{.i18n.Tr "action.compare_commits_general"}}
 | 
						|
			{{ end }}
 | 
						|
		</h2>
 | 
						|
		{{ $BaseCompareName := $.BaseName -}}
 | 
						|
		{{- $HeadCompareName := $.HeadRepo.OwnerName -}}
 | 
						|
		{{- if and (eq $.BaseName $.HeadRepo.OwnerName) (ne $.Repository.Name $.HeadRepo.Name) -}}
 | 
						|
			{{- $HeadCompareName = printf "%s/%s" $.HeadRepo.OwnerName $.HeadRepo.Name -}}
 | 
						|
		{{- end -}}
 | 
						|
		{{- $OwnForkCompareName := "" -}}
 | 
						|
		{{- if .OwnForkRepo -}}
 | 
						|
			{{- $OwnForkCompareName = .OwnForkRepo.OwnerName -}}
 | 
						|
		{{- end -}}
 | 
						|
		{{- $RootRepoCompareName := "" -}}
 | 
						|
		{{- if .RootRepo -}}
 | 
						|
			{{- $RootRepoCompareName = .RootRepo.OwnerName -}}
 | 
						|
			{{- if eq $.HeadRepo.OwnerName .RootRepo.OwnerName -}}
 | 
						|
				{{- $HeadCompareName = printf "%s/%s" $.HeadRepo.OwnerName $.HeadRepo.Name -}}
 | 
						|
			{{- end -}}
 | 
						|
			{{- if .OwnForkRepo -}}
 | 
						|
				{{- if eq $.OwnForkRepo.OwnerName .RootRepo.OwnerName -}}
 | 
						|
					{{- $OwnForkRepoCompareName = printf "%s/%s" $.OwnForkRepo.OwnerName $.OwnForkRepo.Name -}}
 | 
						|
				{{- end -}}
 | 
						|
			{{- end -}}
 | 
						|
		{{- end -}}
 | 
						|
		<div class="ui segment choose branch">
 | 
						|
			{{svg "octicon-git-compare"}}
 | 
						|
			<div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}">
 | 
						|
				<div class="ui basic small button">
 | 
						|
					<span class="text">{{.i18n.Tr "repo.pulls.compare_base"}}: {{$BaseCompareName}}:{{$.BaseBranch}}</span>
 | 
						|
					{{svg "octicon-triangle-down" 14 "dropdown icon"}}
 | 
						|
				</div>
 | 
						|
				<div class="menu">
 | 
						|
					<div class="ui icon search input">
 | 
						|
						<i class="icon df ac jc m-0">{{svg "octicon-filter" 16}}</i>
 | 
						|
						<input name="search" placeholder="{{.i18n.Tr "repo.pulls.filter_branch"}}...">
 | 
						|
					</div>
 | 
						|
					<div class="scrolling menu">
 | 
						|
						{{range .Branches}}
 | 
						|
							<div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-url="{{$.RepoLink}}/compare/{{EscapePound .}}...{{if not $.PullRequestCtx.SameRepo}}{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{end}}{{EscapePound $.HeadBranch}}">{{$BaseCompareName}}:{{.}}</div>
 | 
						|
						{{end}}
 | 
						|
						{{if not .PullRequestCtx.SameRepo}}
 | 
						|
							{{range .HeadBranches}}
 | 
						|
								<div class="item" data-url="{{$.HeadRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$HeadCompareName}}:{{.}}</div>
 | 
						|
							{{end}}
 | 
						|
						{{end}}
 | 
						|
						{{if .OwnForkRepo}}
 | 
						|
							{{range .OwnForkRepoBranches}}
 | 
						|
								<div class="item" data-url="{{$.OwnForkRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$OwnForkCompareName}}:{{.}}</div>
 | 
						|
							{{end}}
 | 
						|
						{{end}}
 | 
						|
						{{if .RootRepo}}
 | 
						|
							{{range .RootRepoBranches}}
 | 
						|
								<div class="item" data-url="{{$.RootRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$RootRepoCompareName}}:{{.}}</div>
 | 
						|
							{{end}}
 | 
						|
						{{end}}
 | 
						|
					</div>
 | 
						|
				</div>
 | 
						|
			</div>
 | 
						|
			...
 | 
						|
			<div class="ui floating filter dropdown">
 | 
						|
				<div class="ui basic small button">
 | 
						|
					<span class="text">{{.i18n.Tr "repo.pulls.compare_compare"}}: {{$HeadCompareName}}:{{$.HeadBranch}}</span>
 | 
						|
					{{svg "octicon-triangle-down" 14 "dropdown icon"}}
 | 
						|
				</div>
 | 
						|
				<div class="menu">
 | 
						|
					<div class="ui icon search input">
 | 
						|
						<i class="icon df ac jc m-0">{{svg "octicon-filter" 16}}</i>
 | 
						|
						<input name="search" placeholder="{{.i18n.Tr "repo.pulls.filter_branch"}}...">
 | 
						|
					</div>
 | 
						|
					<div class="scrolling menu">
 | 
						|
						{{range .HeadBranches}}
 | 
						|
							<div class="{{if eq $.HeadBranch .}}selected{{end}} item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{if not $.PullRequestCtx.SameRepo}}{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{end}}{{EscapePound .}}">{{$HeadCompareName}}:{{.}}</div>
 | 
						|
						{{end}}
 | 
						|
						{{if not .PullRequestCtx.SameRepo}}
 | 
						|
							{{range .Branches}}
 | 
						|
								<div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.BaseName}}/{{$.Repository.Name}}:{{EscapePound .}}">{{$BaseCompareName}}:{{.}}</div>
 | 
						|
							{{end}}
 | 
						|
						{{end}}
 | 
						|
						{{if .OwnForkRepo}}
 | 
						|
							{{range .OwnForkRepoBranches}}
 | 
						|
								<div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.OwnForkRepo.OwnerName}}/{{$.OwnForkRepo.Name}}:{{EscapePound .}}">{{$OwnForkCompareName}}:{{.}}</div>
 | 
						|
							{{end}}
 | 
						|
						{{end}}
 | 
						|
						{{if .RootRepo}}
 | 
						|
							{{range .RootRepoBranches}}
 | 
						|
								<div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.RootRepo.OwnerName}}/{{$.RootRepo.Name}}:{{EscapePound .}}">{{$RootRepoCompareName}}:{{.}}</div>
 | 
						|
							{{end}}
 | 
						|
						{{end}}
 | 
						|
					</div>
 | 
						|
				</div>
 | 
						|
			</div>
 | 
						|
		</div>
 | 
						|
	{{end}}
 | 
						|
 | 
						|
	{{if .IsNothingToCompare}}
 | 
						|
		{{if and $.IsSigned $.AllowEmptyPr (not .Repository.IsArchived) }}
 | 
						|
			<div class="ui segment">{{.i18n.Tr "repo.pulls.nothing_to_compare_and_allow_empty_pr"}}</div>
 | 
						|
			<div class="ui info message show-form-container">
 | 
						|
				<button class="ui button green show-form">{{.i18n.Tr "repo.pulls.new"}}</button>
 | 
						|
			</div>
 | 
						|
			<div class="pullrequest-form" style="display: none">
 | 
						|
				{{template "repo/issue/new_form" .}}
 | 
						|
			</div>
 | 
						|
		{{else}}
 | 
						|
			<div class="ui segment">{{.i18n.Tr "repo.pulls.nothing_to_compare"}}</div>
 | 
						|
		{{end}}
 | 
						|
	{{else if and .PageIsComparePull (gt .CommitCount 0)}}
 | 
						|
		{{if .HasPullRequest}}
 | 
						|
        	<div class="ui segment">
 | 
						|
        		{{.i18n.Tr "repo.pulls.has_pull_request" $.RepoLink $.RepoRelPath .PullRequest.Index | Safe}}
 | 
						|
        	</div>
 | 
						|
		{{else}}
 | 
						|
			{{if and $.IsSigned (not .Repository.IsArchived)}}
 | 
						|
				<div class="ui info message show-form-container">
 | 
						|
					<button class="ui button green show-form">{{.i18n.Tr "repo.pulls.new"}}</button>
 | 
						|
				</div>
 | 
						|
			{{else if .Repository.IsArchived}}
 | 
						|
				<div class="ui warning message">
 | 
						|
					{{.i18n.Tr "repo.archive.title"}}
 | 
						|
				</div>
 | 
						|
			{{end}}
 | 
						|
			{{if $.IsSigned}}
 | 
						|
				<div class="pullrequest-form" style="display: none">
 | 
						|
					{{template "repo/issue/new_form" .}}
 | 
						|
				</div>
 | 
						|
			{{end}}
 | 
						|
			{{template "repo/commits_table" .}}
 | 
						|
			{{template "repo/diff/box" .}}
 | 
						|
		{{end}}
 | 
						|
	{{else}}
 | 
						|
		{{template "repo/commits_table" .}}
 | 
						|
		{{template "repo/diff/box" .}}
 | 
						|
	{{end}}
 | 
						|
	</div>
 | 
						|
</div>
 | 
						|
{{template "base/footer" .}}
 |