From efa039a0f75ff9ba9376af1cbd3d948752c074fc Mon Sep 17 00:00:00 2001
From: FuXiaoHei <fuxiaohei@hexiaz.com>
Date: Mon, 10 Mar 2014 21:12:49 +0800
Subject: finish ssh key pages ui

---
 routers/user/setting.go | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

(limited to 'routers/user/setting.go')

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),
-- 
cgit v1.2.3