code.gitea.io/gitea@v1.22.3/templates/repo/settings/protected_branch.tmpl (about) 1 {{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings branches")}} 2 <div class="repo-setting-content"> 3 <form class="ui form" action="{{.Link}}" method="post"> 4 <h4 class="ui top attached header"> 5 {{ctx.Locale.Tr "repo.settings.branch_protection" .Rule.RuleName}} 6 </h4> 7 <div class="ui attached segment branch-protection"> 8 <h5 class="ui dividing header">{{ctx.Locale.Tr "repo.settings.protect_patterns"}}</h5> 9 <div class="field"> 10 <label>{{ctx.Locale.Tr "repo.settings.protect_branch_name_pattern"}}</label> 11 <input name="rule_name" type="text" value="{{.Rule.RuleName}}"> 12 <input name="rule_id" type="hidden" value="{{.Rule.ID}}"> 13 <p class="help tw-ml-0">{{ctx.Locale.Tr "repo.settings.protect_branch_name_pattern_desc"}}</p> 14 </div> 15 <div class="field"> 16 <label>{{ctx.Locale.Tr "repo.settings.protect_protected_file_patterns"}}</label> 17 <input name="protected_file_patterns" type="text" value="{{.Rule.ProtectedFilePatterns}}"> 18 <p class="help tw-ml-0">{{ctx.Locale.Tr "repo.settings.protect_protected_file_patterns_desc"}}</p> 19 </div> 20 <div class="field"> 21 <label>{{ctx.Locale.Tr "repo.settings.protect_unprotected_file_patterns"}}</label> 22 <input name="unprotected_file_patterns" type="text" value="{{.Rule.UnprotectedFilePatterns}}"> 23 <p class="help tw-ml-0">{{ctx.Locale.Tr "repo.settings.protect_unprotected_file_patterns_desc"}}</p> 24 </div> 25 26 {{.CsrfTokenHtml}} 27 <h5 class="ui dividing header">{{ctx.Locale.Tr "repo.settings.event_push"}}</h5> 28 <div class="field"> 29 <div class="ui radio checkbox"> 30 <input name="enable_push" type="radio" value="none" class="toggle-target-disabled" data-target="#whitelist_box" {{if not .Rule.CanPush}}checked{{end}}> 31 <label>{{ctx.Locale.Tr "repo.settings.protect_disable_push"}}</label> 32 <p class="help">{{ctx.Locale.Tr "repo.settings.protect_disable_push_desc"}}</p> 33 </div> 34 </div> 35 <div class="field"> 36 <div class="ui radio checkbox"> 37 <input name="enable_push" type="radio" value="all" class="toggle-target-disabled" data-target="#whitelist_box" {{if and (.Rule.CanPush) (not .Rule.EnableWhitelist)}}checked{{end}}> 38 <label>{{ctx.Locale.Tr "repo.settings.protect_enable_push"}}</label> 39 <p class="help">{{ctx.Locale.Tr "repo.settings.protect_enable_push_desc"}}</p> 40 </div> 41 </div> 42 <div class="grouped fields"> 43 <div class="field"> 44 <div class="ui radio checkbox"> 45 <input name="enable_push" type="radio" value="whitelist" class="toggle-target-enabled" data-target="#whitelist_box" {{if and (.Rule.CanPush) (.Rule.EnableWhitelist)}}checked{{end}}> 46 <label>{{ctx.Locale.Tr "repo.settings.protect_whitelist_committers"}}</label> 47 <p class="help">{{ctx.Locale.Tr "repo.settings.protect_whitelist_committers_desc"}}</p> 48 </div> 49 </div> 50 <div id="whitelist_box" class="grouped fields {{if not .Rule.EnableWhitelist}}disabled{{end}}"> 51 <div class="checkbox-sub-item field"> 52 <label>{{ctx.Locale.Tr "repo.settings.protect_whitelist_users"}}</label> 53 <div class="ui multiple search selection dropdown"> 54 <input type="hidden" name="whitelist_users" value="{{.whitelist_users}}"> 55 <div class="default text">{{ctx.Locale.Tr "search.user_kind"}}</div> 56 <div class="menu"> 57 {{range .Users}} 58 <div class="item" data-value="{{.ID}}"> 59 {{ctx.AvatarUtils.Avatar . 28 "mini"}}{{template "repo/search_name" .}} 60 </div> 61 {{end}} 62 </div> 63 </div> 64 </div> 65 {{if .Owner.IsOrganization}} 66 <div class="checkbox-sub-item field"> 67 <label>{{ctx.Locale.Tr "repo.settings.protect_whitelist_teams"}}</label> 68 <div class="ui multiple search selection dropdown"> 69 <input type="hidden" name="whitelist_teams" value="{{.whitelist_teams}}"> 70 <div class="default text">{{ctx.Locale.Tr "search.team_kind"}}</div> 71 <div class="menu"> 72 {{range .Teams}} 73 <div class="item" data-value="{{.ID}}"> 74 {{svg "octicon-people"}} 75 {{.Name}} 76 </div> 77 {{end}} 78 </div> 79 </div> 80 </div> 81 {{end}} 82 <div class="checkbox-sub-item field"> 83 <div class="ui checkbox"> 84 <input type="checkbox" name="whitelist_deploy_keys" {{if .Rule.WhitelistDeployKeys}}checked{{end}}> 85 <label>{{ctx.Locale.Tr "repo.settings.protect_whitelist_deploy_keys"}}</label> 86 </div> 87 </div> 88 </div> 89 </div> 90 <div class="field"> 91 <div class="ui checkbox"> 92 <input name="require_signed_commits" type="checkbox" {{if .Rule.RequireSignedCommits}}checked{{end}}> 93 <label>{{ctx.Locale.Tr "repo.settings.require_signed_commits"}}</label> 94 <p class="help">{{ctx.Locale.Tr "repo.settings.require_signed_commits_desc"}}</p> 95 </div> 96 </div> 97 <h5 class="ui dividing header">{{ctx.Locale.Tr "repo.settings.event_pull_request_approvals"}}</h5> 98 <div class="field"> 99 <label>{{ctx.Locale.Tr "repo.settings.protect_required_approvals"}}</label> 100 <input name="required_approvals" type="number" value="{{.Rule.RequiredApprovals}}"> 101 <p class="help tw-ml-0">{{ctx.Locale.Tr "repo.settings.protect_required_approvals_desc"}}</p> 102 </div> 103 <div class="grouped fields"> 104 <div class="field"> 105 <div class="ui checkbox"> 106 <input name="enable_approvals_whitelist" type="checkbox" class="toggle-target-enabled" data-target="#approvals_whitelist_box" {{if .Rule.EnableApprovalsWhitelist}}checked{{end}}> 107 <label>{{ctx.Locale.Tr "repo.settings.protect_approvals_whitelist_enabled"}}</label> 108 <p class="help">{{ctx.Locale.Tr "repo.settings.protect_approvals_whitelist_enabled_desc"}}</p> 109 </div> 110 </div> 111 <div id="approvals_whitelist_box" class="grouped fields {{if not .Rule.EnableApprovalsWhitelist}}disabled{{end}}"> 112 <div class="checkbox-sub-item field"> 113 <label>{{ctx.Locale.Tr "repo.settings.protect_approvals_whitelist_users"}}</label> 114 <div class="ui multiple search selection dropdown"> 115 <input type="hidden" name="approvals_whitelist_users" value="{{.approvals_whitelist_users}}"> 116 <div class="default text">{{ctx.Locale.Tr "search.user_kind"}}</div> 117 <div class="menu"> 118 {{range .Users}} 119 <div class="item" data-value="{{.ID}}"> 120 {{ctx.AvatarUtils.Avatar . 28 "mini"}}{{template "repo/search_name" .}} 121 </div> 122 {{end}} 123 </div> 124 </div> 125 </div> 126 {{if .Owner.IsOrganization}} 127 <div class="checkbox-sub-item field"> 128 <label>{{ctx.Locale.Tr "repo.settings.protect_approvals_whitelist_teams"}}</label> 129 <div class="ui multiple search selection dropdown"> 130 <input type="hidden" name="approvals_whitelist_teams" value="{{.approvals_whitelist_teams}}"> 131 <div class="default text">{{ctx.Locale.Tr "search.team_kind"}}</div> 132 <div class="menu"> 133 {{range .Teams}} 134 <div class="item" data-value="{{.ID}}"> 135 {{svg "octicon-people"}} 136 {{.Name}} 137 </div> 138 {{end}} 139 </div> 140 </div> 141 </div> 142 {{end}} 143 </div> 144 </div> 145 <div class="field"> 146 <div class="ui checkbox"> 147 <input id="dismiss_stale_approvals" name="dismiss_stale_approvals" type="checkbox" {{if .Rule.DismissStaleApprovals}}checked{{end}}> 148 <label>{{ctx.Locale.Tr "repo.settings.dismiss_stale_approvals"}}</label> 149 <p class="help">{{ctx.Locale.Tr "repo.settings.dismiss_stale_approvals_desc"}}</p> 150 </div> 151 </div> 152 <div id="ignore_stale_approvals_box" class="field {{if .Rule.DismissStaleApprovals}}disabled{{end}}"> 153 <div class="ui checkbox"> 154 <input id="ignore_stale_approvals" name="ignore_stale_approvals" type="checkbox" {{if .Rule.IgnoreStaleApprovals}}checked{{end}}> 155 <label>{{ctx.Locale.Tr "repo.settings.ignore_stale_approvals"}}</label> 156 <p class="help">{{ctx.Locale.Tr "repo.settings.ignore_stale_approvals_desc"}}</p> 157 </div> 158 </div> 159 <div class="grouped fields"> 160 <div class="field"> 161 <div class="ui checkbox"> 162 <input name="enable_status_check" type="checkbox" class="toggle-target-enabled" data-target="#statuscheck_contexts_box" {{if .Rule.EnableStatusCheck}}checked{{end}}> 163 <label>{{ctx.Locale.Tr "repo.settings.protect_check_status_contexts"}}</label> 164 <p class="help">{{ctx.Locale.Tr "repo.settings.protect_check_status_contexts_desc"}}</p> 165 </div> 166 </div> 167 <div id="statuscheck_contexts_box" class="checkbox-sub-item field {{if not .Rule.EnableStatusCheck}}disabled{{end}}"> 168 <label>{{ctx.Locale.Tr "repo.settings.protect_status_check_patterns"}}</label> 169 <textarea id="status_check_contexts" name="status_check_contexts" rows="3">{{.status_check_contexts}}</textarea> 170 <p class="help">{{ctx.Locale.Tr "repo.settings.protect_status_check_patterns_desc"}}</p> 171 <table class="ui celled table"> 172 <thead> 173 <tr> 174 <th>{{ctx.Locale.Tr "repo.settings.protect_check_status_contexts_list"}}</th> 175 </tr> 176 </thead> 177 <tbody> 178 {{range $.recent_status_checks}} 179 <tr> 180 <td> 181 <span>{{.}}</span> 182 <span class="status-check-matched-mark tw-hidden" data-status-check="{{.}}">{{ctx.Locale.Tr "repo.settings.protect_status_check_matched"}}</span> 183 </td> 184 </tr> 185 {{else}} 186 <tr><td>-</td></tr> 187 {{end}} 188 </tbody> 189 </table> 190 </div> 191 </div> 192 <h5 class="ui dividing header">{{ctx.Locale.Tr "repo.settings.event_pull_request_merge"}}</h5> 193 <div class="grouped fields"> 194 <div class="field"> 195 <div class="ui radio checkbox"> 196 <input name="enable_merge_whitelist" type="radio" value="false" class="toggle-target-disabled" data-target="#merge_whitelist_box" {{if not .Rule.EnableMergeWhitelist}}checked{{end}}> 197 <label>{{ctx.Locale.Tr "repo.settings.protect_enable_merge"}}</label> 198 <p class="help">{{ctx.Locale.Tr "repo.settings.protect_enable_merge_desc"}}</p> 199 </div> 200 </div> 201 <div class="field"> 202 <div class="ui radio checkbox"> 203 <input name="enable_merge_whitelist" type="radio" value="true" class="toggle-target-enabled" data-target="#merge_whitelist_box" {{if .Rule.EnableMergeWhitelist}}checked{{end}}> 204 <label>{{ctx.Locale.Tr "repo.settings.protect_merge_whitelist_committers"}}</label> 205 <p class="help">{{ctx.Locale.Tr "repo.settings.protect_merge_whitelist_committers_desc"}}</p> 206 </div> 207 </div> 208 <div id="merge_whitelist_box" class="grouped fields {{if not .Rule.EnableMergeWhitelist}}disabled{{end}}"> 209 <div class="checkbox-sub-item field"> 210 <label>{{ctx.Locale.Tr "repo.settings.protect_merge_whitelist_users"}}</label> 211 <div class="ui multiple search selection dropdown"> 212 <input type="hidden" name="merge_whitelist_users" value="{{.merge_whitelist_users}}"> 213 <div class="default text">{{ctx.Locale.Tr "search.user_kind"}}</div> 214 <div class="menu"> 215 {{range .Users}} 216 <div class="item" data-value="{{.ID}}"> 217 {{ctx.AvatarUtils.Avatar . 28 "mini"}}{{template "repo/search_name" .}} 218 </div> 219 {{end}} 220 </div> 221 </div> 222 </div> 223 {{if .Owner.IsOrganization}} 224 <div class="checkbox-sub-item field"> 225 <label>{{ctx.Locale.Tr "repo.settings.protect_merge_whitelist_teams"}}</label> 226 <div class="ui multiple search selection dropdown"> 227 <input type="hidden" name="merge_whitelist_teams" value="{{.merge_whitelist_teams}}"> 228 <div class="default text">{{ctx.Locale.Tr "search.team_kind"}}</div> 229 <div class="menu"> 230 {{range .Teams}} 231 <div class="item" data-value="{{.ID}}"> 232 {{svg "octicon-people"}} 233 {{.Name}} 234 </div> 235 {{end}} 236 </div> 237 </div> 238 </div> 239 {{end}} 240 </div> 241 </div> 242 <div class="field"> 243 <div class="ui checkbox"> 244 <input name="block_on_rejected_reviews" type="checkbox" {{if .Rule.BlockOnRejectedReviews}}checked{{end}}> 245 <label>{{ctx.Locale.Tr "repo.settings.block_rejected_reviews"}}</label> 246 <p class="help">{{ctx.Locale.Tr "repo.settings.block_rejected_reviews_desc"}}</p> 247 </div> 248 </div> 249 <div class="field"> 250 <div class="ui checkbox"> 251 <input name="block_on_official_review_requests" type="checkbox" {{if .Rule.BlockOnOfficialReviewRequests}}checked{{end}}> 252 <label>{{ctx.Locale.Tr "repo.settings.block_on_official_review_requests"}}</label> 253 <p class="help">{{ctx.Locale.Tr "repo.settings.block_on_official_review_requests_desc"}}</p> 254 </div> 255 </div> 256 <div class="field"> 257 <div class="ui checkbox"> 258 <input name="block_on_outdated_branch" type="checkbox" {{if .Rule.BlockOnOutdatedBranch}}checked{{end}}> 259 <label>{{ctx.Locale.Tr "repo.settings.block_outdated_branch"}}</label> 260 <p class="help">{{ctx.Locale.Tr "repo.settings.block_outdated_branch_desc"}}</p> 261 </div> 262 </div> 263 <div class="divider"></div> 264 265 <div class="field"> 266 <button class="ui primary button">{{ctx.Locale.Tr "repo.settings.protected_branch.save_rule"}}</button> 267 </div> 268 </div> 269 </form> 270 </div> 271 {{template "repo/settings/layout_footer" .}}