Hide command line merge instructions when user can't push (#17339)
Hides the command line instructions if the authenticated user can't push to the base branch. Closes #17121
This commit is contained in:
		
							parent
							
								
									554988c7b2
								
							
						
					
					
						commit
						26dfe88ff2
					
				| 
						 | 
					@ -1543,6 +1543,7 @@ func ViewIssue(ctx *context.Context) {
 | 
				
			||||||
			ctx.ServerError("LoadProtectedBranch", err)
 | 
								ctx.ServerError("LoadProtectedBranch", err)
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							ctx.Data["ShowMergeInstructions"] = true
 | 
				
			||||||
		if pull.ProtectedBranch != nil {
 | 
							if pull.ProtectedBranch != nil {
 | 
				
			||||||
			cnt := pull.ProtectedBranch.GetGrantedApprovalsCount(pull)
 | 
								cnt := pull.ProtectedBranch.GetGrantedApprovalsCount(pull)
 | 
				
			||||||
			ctx.Data["IsBlockedByApprovals"] = !pull.ProtectedBranch.HasEnoughApprovals(pull)
 | 
								ctx.Data["IsBlockedByApprovals"] = !pull.ProtectedBranch.HasEnoughApprovals(pull)
 | 
				
			||||||
| 
						 | 
					@ -1554,6 +1555,7 @@ func ViewIssue(ctx *context.Context) {
 | 
				
			||||||
			ctx.Data["ChangedProtectedFiles"] = pull.ChangedProtectedFiles
 | 
								ctx.Data["ChangedProtectedFiles"] = pull.ChangedProtectedFiles
 | 
				
			||||||
			ctx.Data["IsBlockedByChangedProtectedFiles"] = len(pull.ChangedProtectedFiles) != 0
 | 
								ctx.Data["IsBlockedByChangedProtectedFiles"] = len(pull.ChangedProtectedFiles) != 0
 | 
				
			||||||
			ctx.Data["ChangedProtectedFilesNum"] = len(pull.ChangedProtectedFiles)
 | 
								ctx.Data["ChangedProtectedFilesNum"] = len(pull.ChangedProtectedFiles)
 | 
				
			||||||
 | 
								ctx.Data["ShowMergeInstructions"] = pull.ProtectedBranch.CanUserPush(ctx.User.ID)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		ctx.Data["WillSign"] = false
 | 
							ctx.Data["WillSign"] = false
 | 
				
			||||||
		if ctx.User != nil {
 | 
							if ctx.User != nil {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -485,25 +485,27 @@
 | 
				
			||||||
									{{end}}
 | 
														{{end}}
 | 
				
			||||||
								</div>
 | 
													</div>
 | 
				
			||||||
							</div>
 | 
												</div>
 | 
				
			||||||
							<div class="instruct-toggle ml-3"> {{$.i18n.Tr "repo.pulls.merge_instruction_hint" | Safe}} </div>
 | 
												{{if .ShowMergeInstructions}}
 | 
				
			||||||
							<div class="instruct-content" style="display:none">
 | 
													<div class="instruct-toggle ml-3"> {{$.i18n.Tr "repo.pulls.merge_instruction_hint" | Safe}} </div>
 | 
				
			||||||
								<div class="ui divider"></div>
 | 
													<div class="instruct-content" style="display:none">
 | 
				
			||||||
								<div><h3 class="di">{{$.i18n.Tr "step1"}} </h3>{{$.i18n.Tr "repo.pulls.merge_instruction_step1_desc"}}</div>
 | 
														<div class="ui divider"></div>
 | 
				
			||||||
								<div class="ui secondary segment">
 | 
														<div><h3 class="di">{{$.i18n.Tr "step1"}} </h3>{{$.i18n.Tr "repo.pulls.merge_instruction_step1_desc"}}</div>
 | 
				
			||||||
									{{if eq .Issue.PullRequest.Flow 0}}
 | 
														<div class="ui secondary segment">
 | 
				
			||||||
										<div>git checkout -b {{if ne .Issue.PullRequest.HeadRepo.ID .Issue.PullRequest.BaseRepo.ID}}{{.Issue.PullRequest.HeadRepo.OwnerName}}-{{end}}{{.Issue.PullRequest.HeadBranch}} {{.Issue.PullRequest.BaseBranch}}</div>
 | 
															{{if eq .Issue.PullRequest.Flow 0}}
 | 
				
			||||||
										<div>git pull {{if ne .Issue.PullRequest.HeadRepo.ID .Issue.PullRequest.BaseRepo.ID}}{{.Issue.PullRequest.HeadRepo.HTMLURL}}{{else}}origin{{end}} {{.Issue.PullRequest.HeadBranch}}</div>
 | 
																<div>git checkout -b {{if ne .Issue.PullRequest.HeadRepo.ID .Issue.PullRequest.BaseRepo.ID}}{{.Issue.PullRequest.HeadRepo.OwnerName}}-{{end}}{{.Issue.PullRequest.HeadBranch}} {{.Issue.PullRequest.BaseBranch}}</div>
 | 
				
			||||||
									{{else}}
 | 
																<div>git pull {{if ne .Issue.PullRequest.HeadRepo.ID .Issue.PullRequest.BaseRepo.ID}}{{.Issue.PullRequest.HeadRepo.HTMLURL}}{{else}}origin{{end}} {{.Issue.PullRequest.HeadBranch}}</div>
 | 
				
			||||||
										<div>git fetch origin {{.Issue.PullRequest.GetGitRefName}}:{{.Issue.PullRequest.HeadBranch}}</div>
 | 
															{{else}}
 | 
				
			||||||
									{{end}}
 | 
																<div>git fetch origin {{.Issue.PullRequest.GetGitRefName}}:{{.Issue.PullRequest.HeadBranch}}</div>
 | 
				
			||||||
 | 
															{{end}}
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div><h3 class="di">{{$.i18n.Tr "step2"}} </h3>{{$.i18n.Tr "repo.pulls.merge_instruction_step2_desc"}}</div>
 | 
				
			||||||
 | 
														<div class="ui secondary segment">
 | 
				
			||||||
 | 
															<div>git checkout {{.Issue.PullRequest.BaseBranch}}</div>
 | 
				
			||||||
 | 
															<div>git merge --no-ff {{if ne .Issue.PullRequest.HeadRepo.ID .Issue.PullRequest.BaseRepo.ID}}{{.Issue.PullRequest.HeadRepo.OwnerName}}-{{end}}{{.Issue.PullRequest.HeadBranch}}</div>
 | 
				
			||||||
 | 
															<div>git push origin {{.Issue.PullRequest.BaseBranch}}</div>
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
								</div>
 | 
													</div>
 | 
				
			||||||
								<div><h3 class="di">{{$.i18n.Tr "step2"}} </h3>{{$.i18n.Tr "repo.pulls.merge_instruction_step2_desc"}}</div>
 | 
												{{end}}
 | 
				
			||||||
								<div class="ui secondary segment">
 | 
					 | 
				
			||||||
									<div>git checkout {{.Issue.PullRequest.BaseBranch}}</div>
 | 
					 | 
				
			||||||
									<div>git merge --no-ff {{if ne .Issue.PullRequest.HeadRepo.ID .Issue.PullRequest.BaseRepo.ID}}{{.Issue.PullRequest.HeadRepo.OwnerName}}-{{end}}{{.Issue.PullRequest.HeadBranch}}</div>
 | 
					 | 
				
			||||||
									<div>git push origin {{.Issue.PullRequest.BaseBranch}}</div>
 | 
					 | 
				
			||||||
								</div>
 | 
					 | 
				
			||||||
							</div>
 | 
					 | 
				
			||||||
						{{else}}
 | 
											{{else}}
 | 
				
			||||||
							<div class="ui divider"></div>
 | 
												<div class="ui divider"></div>
 | 
				
			||||||
							<div class="item text red">
 | 
												<div class="item text red">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue