aboutsummaryrefslogtreecommitdiff
path: root/routers/user/setting.go
diff options
context:
space:
mode:
authorFuXiaoHei <fuxiaohei@hexiaz.com>2014-03-10 21:12:49 +0800
committerFuXiaoHei <fuxiaohei@hexiaz.com>2014-03-10 21:12:49 +0800
commitefa039a0f75ff9ba9376af1cbd3d948752c074fc (patch)
treec98399f49124b90f513d2a8e029118802849ef29 /routers/user/setting.go
parent3ca7a33907e674c2c90e9f795b57bf87868f16b7 (diff)
finish ssh key pages ui
Diffstat (limited to 'routers/user/setting.go')
-rw-r--r--routers/user/setting.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/routers/user/setting.go b/routers/user/setting.go
index 84be1381..aabbc212 100644
--- a/routers/user/setting.go
+++ b/routers/user/setting.go
@@ -12,6 +12,7 @@ import (
"github.com/martini-contrib/render"
"github.com/martini-contrib/sessions"
"net/http"
+ "strconv"
)
func Setting(r render.Render, data base.TmplData, session sessions.Session) {
@@ -21,6 +22,37 @@ func Setting(r render.Render, data base.TmplData, session sessions.Session) {
}
func SettingSSHKeys(r render.Render, data base.TmplData, req *http.Request, session sessions.Session) {
+ // del ssh ky
+ if req.Method == "DELETE" || req.FormValue("_method") == "DELETE" {
+ id, err := strconv.ParseInt(req.FormValue("id"), 10, 64)
+ if err != nil {
+ data["ErrorMsg"] = err
+ log.Error("ssh.DelPublicKey: %v", err)
+ r.JSON(200, map[string]interface{}{
+ "ok": false,
+ "err": err.Error(),
+ })
+ return
+ }
+ k := &models.PublicKey{
+ Id: id,
+ OwnerId: auth.SignedInId(session),
+ }
+ err = models.DeletePublicKey(k)
+ if err != nil {
+ data["ErrorMsg"] = err
+ log.Error("ssh.DelPublicKey: %v", err)
+ r.JSON(200, map[string]interface{}{
+ "ok": false,
+ "err": err.Error(),
+ })
+ } else {
+ r.JSON(200, map[string]interface{}{
+ "ok": true,
+ })
+ }
+ return
+ }
// add ssh key
if req.Method == "POST" {
k := &models.PublicKey{OwnerId: auth.SignedInId(session),