diff options
author | FuXiaoHei <fuxiaohei@hexiaz.com> | 2014-03-10 16:54:52 +0800 |
---|---|---|
committer | FuXiaoHei <fuxiaohei@hexiaz.com> | 2014-03-10 16:54:52 +0800 |
commit | 46687f391c4e81fd17f7ecac22d3587c711e07d5 (patch) | |
tree | 96b3486af84c634647dc03b2e7849d5618c0f42c /routers | |
parent | 0d9b2f38600325e3a8d87526061efbe9e3b78b91 (diff) | |
download | gitea-46687f391c4e81fd17f7ecac22d3587c711e07d5.tar.gz gitea-46687f391c4e81fd17f7ecac22d3587c711e07d5.zip |
ssh keys operation page ui
Diffstat (limited to 'routers')
-rw-r--r-- | routers/user/setting.go | 54 |
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) +} |