summaryrefslogtreecommitdiffstats
path: root/templates/admin
diff options
context:
space:
mode:
authorguillep2k <18600385+guillep2k@users.noreply.github.com>2020-03-02 15:25:36 -0300
committerGitHub <noreply@github.com>2020-03-02 15:25:36 -0300
commit5e1438ba92fe5b4398ebf468e4ede21c7ef60409 (patch)
tree40096ee69a4ac5df46428a3cf1ae7ee3bee8078e /templates/admin
parentb5ecc82d6e22b5701bfadc1ebc430b9c7fef0cc8 (diff)
downloadgitea-5e1438ba92fe5b4398ebf468e4ede21c7ef60409.tar.gz
gitea-5e1438ba92fe5b4398ebf468e4ede21c7ef60409.zip
Admin page for managing user e-mail activation (#10557)
* Implement mail activation admin panel * Add export comments * Fix another export comment * again... * And again! * Apply suggestions by @lunny * Add UI for user activated emails * Make new activation UI work * Fix lint * Prevent admin from self-deactivate; add modal Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'templates/admin')
-rw-r--r--templates/admin/emails/list.tmpl101
-rw-r--r--templates/admin/nav.tmpl1
-rw-r--r--templates/admin/navbar.tmpl3
3 files changed, 105 insertions, 0 deletions
diff --git a/templates/admin/emails/list.tmpl b/templates/admin/emails/list.tmpl
new file mode 100644
index 0000000000..e9bef3c3b8
--- /dev/null
+++ b/templates/admin/emails/list.tmpl
@@ -0,0 +1,101 @@
+{{template "base/head" .}}
+<div class="admin user">
+ {{template "admin/navbar" .}}
+ <div class="ui container">
+ {{template "base/alert" .}}
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "admin.emails.email_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}})
+ </h4>
+ <div class="ui attached segment">
+ <div class="ui right floated secondary filter menu">
+ <!-- Sort -->
+ <div class="ui dropdown type jump item">
+ <span class="text">
+ {{.i18n.Tr "repo.issues.filter_sort"}}
+ <i class="dropdown icon"></i>
+ </span>
+ <div class="menu">
+ <a class="{{if or (eq .SortType "email") (not .SortType)}}active{{end}} item" href="{{$.Link}}?sort=email&q={{$.Keyword}}">{{.i18n.Tr "admin.emails.filter_sort.email"}}</a>
+ <a class="{{if eq .SortType "reverseemail"}}active{{end}} item" href="{{$.Link}}?sort=reverseemail&q={{$.Keyword}}">{{.i18n.Tr "admin.emails.filter_sort.email_reverse"}}</a>
+ <a class="{{if eq .SortType "username"}}active{{end}} item" href="{{$.Link}}?sort=username&q={{$.Keyword}}">{{.i18n.Tr "admin.emails.filter_sort.name"}}</a>
+ <a class="{{if eq .SortType "reverseusername"}}active{{end}} item" href="{{$.Link}}?sort=reverseusername&q={{$.Keyword}}">{{.i18n.Tr "admin.emails.filter_sort.name_reverse"}}</a>
+ </div>
+ </div>
+ </div>
+ <form class="ui form ignore-dirty" style="max-width: 90%">
+ <div class="ui fluid action input">
+ <input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus>
+ <button class="ui blue button">{{.i18n.Tr "explore.search"}}</button>
+ </div>
+ </form>
+ </div>
+ <div class="ui attached table segment">
+ <table class="ui very basic striped table">
+ <thead>
+ <tr>
+ <th>{{.i18n.Tr "admin.users.name"}}</th>
+ <th>{{.i18n.Tr "admin.users.full_name"}}</th>
+ <th>{{.i18n.Tr "email"}}</th>
+ <th>{{.i18n.Tr "admin.emails.primary"}}</th>
+ <th>{{.i18n.Tr "admin.emails.activated"}}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {{range .Emails}}
+ <tr>
+ <td><a href="{{AppSubUrl}}/{{.Name}}">{{.Name}}</a></td>
+ <td><span class="text truncate">{{.FullName}}</span></td>
+ <td><span class="text email">{{.Email}}</span></td>
+ <td><i class="fa fa{{if .IsPrimary}}-check{{end}}-square-o"></i></td>
+ <td>
+ {{if .CanChange}}
+ <a class="link-email-action" href data-uid="{{.UID}}"
+ data-email="{{.Email}}"
+ data-primary="{{if .IsPrimary}}1{{else}}0{{end}}"
+ data-activate="{{if .IsActivated}}0{{else}}1{{end}}">
+ <i class="fa fa{{if .IsActivated}}-check{{end}}-square-o"></i>
+ </a>
+ {{else}}
+ <i class="fa fa{{if .IsActivated}}-check{{end}}-square-o"></i>
+ {{end}}
+ </td>
+ </tr>
+ {{end}}
+ </tbody>
+ </table>
+ </div>
+
+ {{template "base/paginate" .}}
+
+ <div class="ui basic modal" id="change-email-modal">
+ <div class="ui icon header">
+ {{.i18n.Tr "admin.emails.change_email_header"}}
+ </div>
+ <div class="content center">
+ <p>{{.i18n.Tr "admin.emails.change_email_text"}}</p>
+
+ <form class="ui form" id="email-action-form" action="{{AppSubUrl}}/admin/emails/activate" method="post">
+ {{$.CsrfTokenHtml}}
+
+ <input type="hidden" id="query-sort" name="sort" value="{{.SortType}}">
+ <input type="hidden" id="query-keyword" name="q" value="{{.Keyword}}">
+ <input type="hidden" id="query-primary" name="is_primary" value="{{.IsPrimary}}" required>
+ <input type="hidden" id="query-activated" name="is_activated" value="{{.IsActivated}}" required>
+
+ <input type="hidden" id="form-uid" name="uid" value="" required>
+ <input type="hidden" id="form-email" name="email" value="" required>
+ <input type="hidden" id="form-primary" name="primary" value="" required>
+ <input type="hidden" id="form-activate" name="activate" value="" required>
+
+ <div class="center actions">
+ <div class="ui basic cancel inverted button">{{$.i18n.Tr "settings.cancel"}}</div>
+ <button class="ui basic inverted yellow button">{{$.i18n.Tr "modal.yes"}}</button>
+ </div>
+
+ </form>
+ </div>
+ </div>
+
+ </div>
+</div>
+{{template "base/footer" .}}
diff --git a/templates/admin/nav.tmpl b/templates/admin/nav.tmpl
index d95a0d7ecf..0917d1ebe3 100644
--- a/templates/admin/nav.tmpl
+++ b/templates/admin/nav.tmpl
@@ -8,6 +8,7 @@
<li {{if .PageIsAdminRepositories}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/repos">{{.i18n.Tr "admin.repositories"}}</a></li>
<li {{if .PageIsAdminHooks}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/hooks">{{.i18n.Tr "admin.hooks"}}</a></li>
<li {{if .PageIsAdminAuthentications}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/auths">{{.i18n.Tr "admin.authentication"}}</a></li>
+ <li {{if .PageIsAdminEmails}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/emails">{{.i18n.Tr "admin.emails"}}</a></li>
<li {{if .PageIsAdminConfig}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/config">{{.i18n.Tr "admin.config"}}</a></li>
<li {{if .PageIsAdminNotices}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/notices">{{.i18n.Tr "admin.notices"}}</a></li>
<li {{if .PageIsAdminMonitor}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/monitor">{{.i18n.Tr "admin.monitor"}}</a></li>
diff --git a/templates/admin/navbar.tmpl b/templates/admin/navbar.tmpl
index caa8c1f323..546df22e12 100644
--- a/templates/admin/navbar.tmpl
+++ b/templates/admin/navbar.tmpl
@@ -17,6 +17,9 @@
<a class="{{if .PageIsAdminAuthentications}}active{{end}} item" href="{{AppSubUrl}}/admin/auths">
{{.i18n.Tr "admin.authentication"}}
</a>
+ <a class="{{if .PageIsAdminEmails}}active{{end}} item" href="{{AppSubUrl}}/admin/emails">
+ {{.i18n.Tr "admin.emails"}}
+ </a>
<a class="{{if .PageIsAdminConfig}}active{{end}} item" href="{{AppSubUrl}}/admin/config">
{{.i18n.Tr "admin.config"}}
</a>