summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorAntoine GIRARD <sapk@users.noreply.github.com>2017-04-26 15:10:43 +0200
committerLunny Xiao <xiaolunwen@gmail.com>2017-04-26 21:10:43 +0800
commit8371f94d06cefbd65392af3b5c0f1fd1057429f7 (patch)
treed6bf49ee4406be76e5429bc70da4a5dee22e3cab /templates
parentb7da5a6cb7c725232c1053a1ca705a6ac0dad467 (diff)
downloadgitea-8371f94d06cefbd65392af3b5c0f1fd1057429f7.tar.gz
gitea-8371f94d06cefbd65392af3b5c0f1fd1057429f7.zip
Rework SSH key management UI to add GPG (#1293)
* Rework SSH key management UI to add GPG * Add more detail to gpg key display * Update CHANGELOG.md * Implement deletion UI * Implement adding gpg UI * Various fixes - Fix duplicate entry in locale - Re-generate hash before verification since they are consumed * Add missing translation * Split template * Catch not found/verified email error
Diffstat (limited to 'templates')
-rw-r--r--templates/user/settings/keys.tmpl12
-rw-r--r--templates/user/settings/keys_gpg.tmpl67
-rw-r--r--templates/user/settings/keys_ssh.tmpl67
-rw-r--r--templates/user/settings/navbar.tmpl4
-rw-r--r--templates/user/settings/sshkeys.tmpl74
5 files changed, 148 insertions, 76 deletions
diff --git a/templates/user/settings/keys.tmpl b/templates/user/settings/keys.tmpl
new file mode 100644
index 0000000000..86d2204eb1
--- /dev/null
+++ b/templates/user/settings/keys.tmpl
@@ -0,0 +1,12 @@
+{{template "base/head" .}}
+<div class="user settings sshkeys">
+ {{template "user/settings/navbar" .}}
+ <div class="ui container">
+ {{template "base/alert" .}}
+ {{template "user/settings/keys_ssh" .}}
+ <br>
+ {{template "user/settings/keys_gpg" .}}
+ </div>
+</div>
+
+{{template "base/footer" .}}
diff --git a/templates/user/settings/keys_gpg.tmpl b/templates/user/settings/keys_gpg.tmpl
new file mode 100644
index 0000000000..b0c3e1bda7
--- /dev/null
+++ b/templates/user/settings/keys_gpg.tmpl
@@ -0,0 +1,67 @@
+<h4 class="ui top attached header">
+ {{.i18n.Tr "settings.manage_gpg_keys"}}
+ <div class="ui right">
+ <div class="ui blue tiny show-panel button" data-panel="#add-gpg-key-panel">{{.i18n.Tr "settings.add_key"}}</div>
+ </div>
+</h4>
+<div class="ui attached segment">
+ <div class="ui key list">
+ <div class="item">
+ {{.i18n.Tr "settings.gpg_desc"}}
+ </div>
+ {{range .GPGKeys}}
+ <div class="item">
+ <div class="right floated content">
+ <button class="ui red tiny button delete-button" id="delete-gpg" data-url="{{$.Link}}/delete?type=gpg" data-id="{{.ID}}">
+ {{$.i18n.Tr "settings.delete_key"}}
+ </button>
+ </div>
+ <i class="mega-octicon octicon-key {{if .Expired.After $.PageStartTime}}green{{end}}"></i>
+ <div class="content">
+ {{range .Emails}}<strong>{{.Email}} </strong>{{end}}
+ <div class="print meta">
+ <b>{{$.i18n.Tr "settings.key_id"}}:</b> {{.KeyID}}
+ <b>{{$.i18n.Tr "settings.subkeys"}}:</b> {{range .SubsKey}} {{.KeyID}} {{end}}
+ </div>
+ <div class="activity meta">
+ <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Added}}</span></i>
+ -
+ <i>{{$.i18n.Tr "settings.valid_until"}} <span>{{DateFmtShort .Expired}}</span></i>
+ </div>
+ </div>
+ </div>
+ {{end}}
+ </div>
+</div>
+<br>
+<p>{{.i18n.Tr "settings.gpg_helper" "https://help.github.com/articles/about-gpg/" | Str2html}}</p>
+<div {{if not .HasGPGError}}class="hide"{{end}} id="add-gpg-key-panel">
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.add_new_gpg_key"}}
+ </h4>
+ <div class="ui attached segment">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <input type="hidden" name="title" value="none">
+ <div class="field {{if .Err_Content}}error{{end}}">
+ <label for="content">{{.i18n.Tr "settings.key_content"}}</label>
+ <textarea id="gpg-key-content" name="content" required>{{.content}}</textarea>
+ </div>
+ <input name="type" type="hidden" value="gpg">
+ <button class="ui green button">
+ {{.i18n.Tr "settings.add_key"}}
+ </button>
+ </form>
+ </div>
+</div>
+
+<div class="ui small basic delete modal" id="delete-gpg">
+ <div class="ui icon header">
+ <i class="trash icon"></i>
+ {{.i18n.Tr "settings.gpg_key_deletion"}}
+ </div>
+ <div class="content">
+ <p>{{.i18n.Tr "settings.gpg_key_deletion_desc"}}</p>
+ </div>
+ {{template "base/delete_modal_actions" .}}
+</div>
diff --git a/templates/user/settings/keys_ssh.tmpl b/templates/user/settings/keys_ssh.tmpl
new file mode 100644
index 0000000000..1bdf0b15b1
--- /dev/null
+++ b/templates/user/settings/keys_ssh.tmpl
@@ -0,0 +1,67 @@
+<h4 class="ui top attached header">
+ {{.i18n.Tr "settings.manage_ssh_keys"}}
+ <div class="ui right">
+ <div class="ui blue tiny show-panel button" data-panel="#add-ssh-key-panel">{{.i18n.Tr "settings.add_key"}}</div>
+ </div>
+</h4>
+<div class="ui attached segment">
+ <div class="ui key list">
+ <div class="item">
+ {{.i18n.Tr "settings.ssh_desc"}}
+ </div>
+ {{range .Keys}}
+ <div class="item">
+ <div class="right floated content">
+ <button class="ui red tiny button delete-button" id="delete-ssh" data-url="{{$.Link}}/delete?type=ssh" data-id="{{.ID}}">
+ {{$.i18n.Tr "settings.delete_key"}}
+ </button>
+ </div>
+ <i class="mega-octicon octicon-key {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}></i>
+ <div class="content">
+ <strong>{{.Name}}</strong>
+ <div class="print meta">
+ {{.Fingerprint}}
+ </div>
+ <div class="activity meta">
+ <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
+ </div>
+ </div>
+ </div>
+ {{end}}
+ </div>
+</div>
+<br>
+<p>{{.i18n.Tr "settings.ssh_helper" "https://help.github.com/articles/generating-ssh-keys" "https://help.github.com/ssh-issues/" | Str2html}}</p>
+<div {{if not .HasSSHError}}class="hide"{{end}} id="add-ssh-key-panel">
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.add_new_key"}}
+ </h4>
+ <div class="ui attached segment">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="field {{if .Err_Title}}error{{end}}">
+ <label for="title">{{.i18n.Tr "settings.key_name"}}</label>
+ <input id="ssh-key-title" name="title" value="{{.title}}" autofocus required>
+ </div>
+ <div class="field {{if .Err_Content}}error{{end}}">
+ <label for="content">{{.i18n.Tr "settings.key_content"}}</label>
+ <textarea id="ssh-key-content" name="content" required>{{.content}}</textarea>
+ </div>
+ <input name="type" type="hidden" value="ssh">
+ <button class="ui green button">
+ {{.i18n.Tr "settings.add_key"}}
+ </button>
+ </form>
+ </div>
+</div>
+
+<div class="ui small basic delete modal" id="delete-ssh">
+ <div class="ui icon header">
+ <i class="trash icon"></i>
+ {{.i18n.Tr "settings.ssh_key_deletion"}}
+ </div>
+ <div class="content">
+ <p>{{.i18n.Tr "settings.ssh_key_deletion_desc"}}</p>
+ </div>
+ {{template "base/delete_modal_actions" .}}
+</div>
diff --git a/templates/user/settings/navbar.tmpl b/templates/user/settings/navbar.tmpl
index d798d40219..4aac9effb5 100644
--- a/templates/user/settings/navbar.tmpl
+++ b/templates/user/settings/navbar.tmpl
@@ -16,8 +16,8 @@
OpenID
</a>
{{end}}
- <a class="{{if .PageIsSettingsSSHKeys}}active{{end}} item" href="{{AppSubUrl}}/user/settings/ssh">
- {{.i18n.Tr "settings.ssh_keys"}}
+ <a class="{{if .PageIsSettingsKeys}}active{{end}} item" href="{{AppSubUrl}}/user/settings/keys">
+ {{.i18n.Tr "settings.ssh_gpg_keys"}}
</a>
<a class="{{if .PageIsSettingsApplications}}active{{end}} item" href="{{AppSubUrl}}/user/settings/applications">
{{.i18n.Tr "settings.applications"}}
diff --git a/templates/user/settings/sshkeys.tmpl b/templates/user/settings/sshkeys.tmpl
deleted file mode 100644
index 7942afde41..0000000000
--- a/templates/user/settings/sshkeys.tmpl
+++ /dev/null
@@ -1,74 +0,0 @@
-{{template "base/head" .}}
-<div class="user settings sshkeys">
- {{template "user/settings/navbar" .}}
- <div class="ui container">
- {{template "base/alert" .}}
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.manage_ssh_keys"}}
- <div class="ui right">
- <div class="ui blue tiny show-panel button" data-panel="#add-ssh-key-panel">{{.i18n.Tr "settings.add_key"}}</div>
- </div>
- </h4>
- <div class="ui attached segment">
- <div class="ui key list">
- <div class="item">
- {{.i18n.Tr "settings.ssh_desc"}}
- </div>
- {{range .Keys}}
- <div class="item">
- <div class="right floated content">
- <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
- {{$.i18n.Tr "settings.delete_key"}}
- </button>
- </div>
- <i class="mega-octicon octicon-key {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}></i>
- <div class="content">
- <strong>{{.Name}}</strong>
- <div class="print meta">
- {{.Fingerprint}}
- </div>
- <div class="activity meta">
- <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
- </div>
- </div>
- </div>
- {{end}}
- </div>
- </div>
- <br>
- <p>{{.i18n.Tr "settings.ssh_helper" "https://help.github.com/articles/generating-ssh-keys" "https://help.github.com/ssh-issues/" | Str2html}}</p>
- <div {{if not .HasError}}class="hide"{{end}} id="add-ssh-key-panel">
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.add_new_key"}}
- </h4>
- <div class="ui attached segment">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <div class="field {{if .Err_Title}}error{{end}}">
- <label for="title">{{.i18n.Tr "settings.key_name"}}</label>
- <input id="ssh-key-title" name="title" value="{{.title}}" autofocus required>
- </div>
- <div class="field {{if .Err_Content}}error{{end}}">
- <label for="content">{{.i18n.Tr "settings.key_content"}}</label>
- <textarea id="ssh-key-content" name="content" required>{{.content}}</textarea>
- </div>
- <button class="ui green button">
- {{.i18n.Tr "settings.add_key"}}
- </button>
- </form>
- </div>
- </div>
- </div>
-</div>
-
-<div class="ui small basic delete modal">
- <div class="ui icon header">
- <i class="trash icon"></i>
- {{.i18n.Tr "settings.ssh_key_deletion"}}
- </div>
- <div class="content">
- <p>{{.i18n.Tr "settings.ssh_key_deletion_desc"}}</p>
- </div>
- {{template "base/delete_modal_actions" .}}
-</div>
-{{template "base/footer" .}}