summaryrefslogtreecommitdiffstats
path: root/routers/user/ssh.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/user/ssh.go')
-rw-r--r--routers/user/ssh.go28
1 files changed, 24 insertions, 4 deletions
diff --git a/routers/user/ssh.go b/routers/user/ssh.go
index 7b5a1d325b..9e9cf009fe 100644
--- a/routers/user/ssh.go
+++ b/routers/user/ssh.go
@@ -11,26 +11,46 @@ import (
"github.com/martini-contrib/render"
"github.com/gogits/gogs/models"
+ "github.com/martini-contrib/sessions"
)
-func AddPublicKey(req *http.Request, r render.Render) {
+func AddPublicKey(req *http.Request, r render.Render, session sessions.Session) {
if req.Method == "GET" {
r.HTML(200, "user/publickey_add", map[string]interface{}{
- "Title": "Add Public Key",
+ "Title": "Add Public Key",
+ "IsSigned": IsSignedIn(session),
})
return
}
- k := &models.PublicKey{OwnerId: 1,
+ k := &models.PublicKey{OwnerId: SignedInId(session),
Name: req.FormValue("keyname"),
Content: req.FormValue("key_content"),
}
err := models.AddPublicKey(k)
if err != nil {
r.HTML(403, "status/403", map[string]interface{}{
- "Title": fmt.Sprintf("%v", err),
+ "Title": fmt.Sprintf("%v", err),
+ "IsSigned": IsSignedIn(session),
})
} else {
r.HTML(200, "user/publickey_added", map[string]interface{}{})
}
}
+
+func ListPublicKey(req *http.Request, r render.Render, session sessions.Session) {
+ keys, err := models.ListPublicKey(SignedInId(session))
+ if err != nil {
+ r.HTML(200, "base/error", map[string]interface{}{
+ "Error": fmt.Sprintf("%v", err),
+ "IsSigned": IsSignedIn(session),
+ })
+ return
+ }
+
+ r.HTML(200, "user/publickey_list", map[string]interface{}{
+ "Title": "repositories",
+ "Keys": keys,
+ "IsSigned": IsSignedIn(session),
+ })
+}