summaryrefslogtreecommitdiffstats
path: root/templates/repo/settings/tags.tmpl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--templates/repo/settings/tags.tmpl126
1 files changed, 126 insertions, 0 deletions
diff --git a/templates/repo/settings/tags.tmpl b/templates/repo/settings/tags.tmpl
new file mode 100644
index 0000000..e7a7aaa
--- /dev/null
+++ b/templates/repo/settings/tags.tmpl
@@ -0,0 +1,126 @@
+{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit")}}
+ <div class="repo-setting-content">
+ {{if .Repository.IsArchived}}
+ <div class="ui warning message tw-text-center">
+ {{ctx.Locale.Tr "repo.settings.archive.tagsettings_unavailable"}}
+ </div>
+ {{else}}
+ <h4 class="ui top attached header">
+ {{ctx.Locale.Tr "repo.settings.tags.protection"}}
+ </h4>
+
+ <div class="ui attached segment">
+ <div class="ui grid">
+ <div class="sixteen wide column">
+ <div class="ui segment">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="field">
+ <label>{{ctx.Locale.Tr "repo.settings.tags.protection.pattern"}}</label>
+ <div id="search-tag-box" class="ui search">
+ <div class="ui input">
+ <input class="prompt" name="name_pattern" autocomplete="off" value="{{.name_pattern}}" placeholder="v*" autofocus required>
+ </div>
+ <div class="help">{{ctx.Locale.Tr "repo.settings.tags.protection.pattern.description" "https://forgejo.org/docs/latest/user/protection/#protected-tags"}}</div>
+ </div>
+ </div>
+ <div class="whitelist field">
+ <label>{{ctx.Locale.Tr "repo.settings.tags.protection.allowed.users"}}</label>
+ <div class="ui multiple search selection dropdown">
+ <input type="hidden" name="allowlist_users" value="{{.allowlist_users}}">
+ <div class="default text">{{ctx.Locale.Tr "search.user_kind"}}</div>
+ <div class="menu">
+ {{range .Users}}
+ <div class="item" data-value="{{.ID}}">
+ {{ctx.AvatarUtils.Avatar . 28 "mini"}}{{template "repo/search_name" .}}
+ </div>
+ {{end}}
+ </div>
+ </div>
+ </div>
+ {{if .Owner.IsOrganization}}
+ <div class="whitelist field">
+ <label>{{ctx.Locale.Tr "repo.settings.tags.protection.allowed.teams"}}</label>
+ <div class="ui multiple search selection dropdown">
+ <input type="hidden" name="allowlist_teams" value="{{.allowlist_teams}}">
+ <div class="default text">{{ctx.Locale.Tr "search.team_kind"}}</div>
+ <div class="menu">
+ {{range .Teams}}
+ <div class="item" data-value="{{.ID}}">
+ {{svg "octicon-people"}}
+ {{.Name}}
+ </div>
+ {{end}}
+ </div>
+ </div>
+ </div>
+ {{end}}
+ <div class="field">
+ {{if .PageIsEditProtectedTag}}
+ <button class="ui primary button">
+ {{ctx.Locale.Tr "save"}}
+ </button>
+ <a class="ui primary button" href="{{$.RepoLink}}/settings/tags">
+ {{ctx.Locale.Tr "cancel"}}
+ </a>
+ {{else}}
+ <button class="ui primary button">
+ {{ctx.Locale.Tr "repo.settings.tags.protection.create"}}
+ </button>
+ {{end}}
+ </div>
+ </form>
+ </div>
+ </div>
+
+ <div class="sixteen wide column">
+ <table class="ui single line table">
+ <thead>
+ <th>{{ctx.Locale.Tr "repo.settings.tags.protection.pattern"}}</th>
+ <th>{{ctx.Locale.Tr "repo.settings.tags.protection.allowed"}}</th>
+ <th></th>
+ </thead>
+ <tbody>
+ {{range .ProtectedTags}}
+ <tr>
+ <td><pre>{{.NamePattern}}</pre></td>
+ <td>
+ {{if or .AllowlistUserIDs (and $.Owner.IsOrganization .AllowlistTeamIDs)}}
+ {{$userIDs := .AllowlistUserIDs}}
+ {{range $.Users}}
+ {{if SliceUtils.Contains $userIDs .ID}}
+ <a class="ui basic label" href="{{.HomeLink}}">{{ctx.AvatarUtils.Avatar . 26}} {{.GetDisplayName}}</a>
+ {{end}}
+ {{end}}
+ {{if $.Owner.IsOrganization}}
+ {{$teamIDs := .AllowlistTeamIDs}}
+ {{range $.Teams}}
+ {{if SliceUtils.Contains $teamIDs .ID}}
+ <a class="ui basic label" href="{{$.Owner.OrganisationLink}}/teams/{{PathEscape .LowerName}}">{{.Name}}</a>
+ {{end}}
+ {{end}}
+ {{end}}
+ {{else}}
+ {{ctx.Locale.Tr "repo.settings.tags.protection.allowed.noone"}}
+ {{end}}
+ </td>
+ <td class="right aligned">
+ <a class="ui tiny primary button" href="{{$.RepoLink}}/settings/tags/{{.ID}}">{{ctx.Locale.Tr "edit"}}</a>
+ <form class="tw-inline-block" action="{{$.RepoLink}}/settings/tags/delete" method="post">
+ {{$.CsrfTokenHtml}}
+ <input type="hidden" name="id" value="{{.ID}}">
+ <button class="ui tiny red button">{{ctx.Locale.Tr "remove"}}</button>
+ </form>
+ </td>
+ </tr>
+ {{else}}
+ <tr class="center aligned"><td colspan="3">{{ctx.Locale.Tr "repo.settings.tags.protection.none"}}</td></tr>
+ {{end}}
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ {{end}}
+ </div>
+{{template "repo/settings/layout_footer" .}}