summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
authorFuXiaoHei <fuxiaohei@hexiaz.com>2014-03-10 16:54:52 +0800
committerFuXiaoHei <fuxiaohei@hexiaz.com>2014-03-10 16:54:52 +0800
commit46687f391c4e81fd17f7ecac22d3587c711e07d5 (patch)
tree96b3486af84c634647dc03b2e7849d5618c0f42c /routers
parent0d9b2f38600325e3a8d87526061efbe9e3b78b91 (diff)
downloadgitea-46687f391c4e81fd17f7ecac22d3587c711e07d5.tar.gz
gitea-46687f391c4e81fd17f7ecac22d3587c711e07d5.zip
ssh keys operation page ui
Diffstat (limited to 'routers')
-rw-r--r--routers/user/setting.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/routers/user/setting.go b/routers/user/setting.go
new file mode 100644
index 0000000000..84be138170
--- /dev/null
+++ b/routers/user/setting.go
@@ -0,0 +1,54 @@
+// Copyright 2014 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package user
+
+import (
+ "github.com/gogits/gogs/models"
+ "github.com/gogits/gogs/modules/auth"
+ "github.com/gogits/gogs/modules/base"
+ "github.com/gogits/gogs/modules/log"
+ "github.com/martini-contrib/render"
+ "github.com/martini-contrib/sessions"
+ "net/http"
+)
+
+func Setting(r render.Render, data base.TmplData, session sessions.Session) {
+ data["Title"] = "Setting"
+ data["PageIsUserSetting"] = true
+ r.HTML(200, "user/setting", data)
+}
+
+func SettingSSHKeys(r render.Render, data base.TmplData, req *http.Request, session sessions.Session) {
+ // add ssh key
+ if req.Method == "POST" {
+ k := &models.PublicKey{OwnerId: auth.SignedInId(session),
+ Name: req.FormValue("keyname"),
+ Content: req.FormValue("key_content"),
+ }
+ err := models.AddPublicKey(k)
+ if err != nil {
+ data["ErrorMsg"] = err
+ log.Error("ssh.AddPublicKey: %v", err)
+ r.HTML(200, "base/error", data)
+ return
+ } else {
+ data["AddSSHKeySuccess"] = true
+ }
+ }
+ // get keys
+ keys, err := models.ListPublicKey(auth.SignedInId(session))
+ if err != nil {
+ data["ErrorMsg"] = err
+ log.Error("ssh.ListPublicKey: %v", err)
+ r.HTML(200, "base/error", data)
+ return
+ }
+
+ // set to template
+ data["Title"] = "SSH Keys"
+ data["PageIsUserSetting"] = true
+ data["Keys"] = keys
+ r.HTML(200, "user/publickey", data)
+}