]> source.dussan.org Git - gitea.git/commitdiff
Don't show a dropdown menu when only 1 merge option is available (#13660) (#13670)
authorJimmy Praet <jimmy.praet@telenet.be>
Sun, 22 Nov 2020 13:58:12 +0000 (14:58 +0100)
committerGitHub <noreply@github.com>
Sun, 22 Nov 2020 13:58:12 +0000 (15:58 +0200)
models/repo_unit.go
templates/repo/issue/view_content/pull.tmpl

index d4c74515f795746c722b442cc115d939c640242d..b208276d9d2c15ab8d29fe389a97aa0f941bb31a 100644 (file)
@@ -113,6 +113,24 @@ func (cfg *PullRequestsConfig) IsMergeStyleAllowed(mergeStyle MergeStyle) bool {
                mergeStyle == MergeStyleSquash && cfg.AllowSquash
 }
 
+// AllowedMergeStyleCount returns the total count of allowed merge styles for the PullRequestsConfig
+func (cfg *PullRequestsConfig) AllowedMergeStyleCount() int {
+       count := 0
+       if cfg.AllowMerge {
+               count++
+       }
+       if cfg.AllowRebase {
+               count++
+       }
+       if cfg.AllowRebaseMerge {
+               count++
+       }
+       if cfg.AllowSquash {
+               count++
+       }
+       return count
+}
+
 // BeforeSet is invoked from XORM before setting the value of a field of this object.
 func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) {
        switch colName {
index 347b3b15d3baeb359ebe88da73ed33315bc0f8b6..f7870d60d291d78ce1892c805aeb9b7b4ac58277 100644 (file)
                                                                        {{end}}
                                                                        </span>
                                                                </button>
-                                                               <div class="ui dropdown icon button">
-                                                                       {{svg "octicon-triangle-down" 14 "dropdown icon"}}
-                                                                       <div class="menu">
-                                                                               {{if $prUnit.PullRequestsConfig.AllowMerge}}
-                                                                               <div class="item{{if eq .MergeStyle "merge"}} active selected{{end}}" data-do="merge">{{$.i18n.Tr "repo.pulls.merge_pull_request"}}</div>
-                                                                               {{end}}
-                                                                               {{if $prUnit.PullRequestsConfig.AllowRebase}}
-                                                                               <div class="item{{if eq .MergeStyle "rebase"}} active selected{{end}}" data-do="rebase">{{$.i18n.Tr "repo.pulls.rebase_merge_pull_request"}}</div>
-                                                                               {{end}}
-                                                                               {{if $prUnit.PullRequestsConfig.AllowRebaseMerge}}
-                                                                               <div class="item{{if eq .MergeStyle "rebase-merge"}} active selected{{end}}" data-do="rebase-merge">{{$.i18n.Tr "repo.pulls.rebase_merge_commit_pull_request"}}</div>
-                                                                               {{end}}
-                                                                               {{if $prUnit.PullRequestsConfig.AllowSquash}}
-                                                                               <div class="item{{if eq .MergeStyle "squash"}} active selected{{end}}" data-do="squash">{{$.i18n.Tr "repo.pulls.squash_merge_pull_request"}}</div>
-                                                                               {{end}}
+                                                               {{if gt $prUnit.PullRequestsConfig.AllowedMergeStyleCount 1}}
+                                                                       <div class="ui dropdown icon button">
+                                                                               {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+                                                                               <div class="menu">
+                                                                                       {{if $prUnit.PullRequestsConfig.AllowMerge}}
+                                                                                       <div class="item{{if eq .MergeStyle "merge"}} active selected{{end}}" data-do="merge">{{$.i18n.Tr "repo.pulls.merge_pull_request"}}</div>
+                                                                                       {{end}}
+                                                                                       {{if $prUnit.PullRequestsConfig.AllowRebase}}
+                                                                                       <div class="item{{if eq .MergeStyle "rebase"}} active selected{{end}}" data-do="rebase">{{$.i18n.Tr "repo.pulls.rebase_merge_pull_request"}}</div>
+                                                                                       {{end}}
+                                                                                       {{if $prUnit.PullRequestsConfig.AllowRebaseMerge}}
+                                                                                       <div class="item{{if eq .MergeStyle "rebase-merge"}} active selected{{end}}" data-do="rebase-merge">{{$.i18n.Tr "repo.pulls.rebase_merge_commit_pull_request"}}</div>
+                                                                                       {{end}}
+                                                                                       {{if $prUnit.PullRequestsConfig.AllowSquash}}
+                                                                                       <div class="item{{if eq .MergeStyle "squash"}} active selected{{end}}" data-do="squash">{{$.i18n.Tr "repo.pulls.squash_merge_pull_request"}}</div>
+                                                                                       {{end}}
+                                                                               </div>
                                                                        </div>
-                                                               </div>
+                                                               {{end}}
                                                        </div>
                                                {{else}}
                                                        <div class="ui divider"></div>