diff options
author | FuXiaoHei <fuxiaohei@hexiaz.com> | 2014-03-10 21:12:49 +0800 |
---|---|---|
committer | FuXiaoHei <fuxiaohei@hexiaz.com> | 2014-03-10 21:12:49 +0800 |
commit | efa039a0f75ff9ba9376af1cbd3d948752c074fc (patch) | |
tree | c98399f49124b90f513d2a8e029118802849ef29 /routers/user/setting.go | |
parent | 3ca7a33907e674c2c90e9f795b57bf87868f16b7 (diff) |
finish ssh key pages ui
Diffstat (limited to 'routers/user/setting.go')
-rw-r--r-- | routers/user/setting.go | 32 |
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), |