aboutsummaryrefslogtreecommitdiff
path: root/routers/user/user.go
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-07 17:08:21 -0500
committerUnknown <joe2010xtmf@163.com>2014-03-07 17:08:21 -0500
commita2a59f8ad1192d3504abd50b2daf2ebfd97c86ca (patch)
treef18d38149410e483e5108da62512f32ca0c45a8a /routers/user/user.go
parentba5c7ea7719abbef792e8b9897dcfadf4d54bbab (diff)
Change /user/profile URL to /user/:username
Diffstat (limited to 'routers/user/user.go')
-rw-r--r--routers/user/user.go34
1 files changed, 20 insertions, 14 deletions
diff --git a/routers/user/user.go b/routers/user/user.go
index fae376dd..7eac9b74 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -5,9 +5,9 @@
package user
import (
- "fmt"
"net/http"
+ "github.com/codegangsta/martini"
"github.com/martini-contrib/render"
"github.com/martini-contrib/sessions"
@@ -23,12 +23,18 @@ func Dashboard(r render.Render, data base.TmplData, session sessions.Session) {
r.HTML(200, "user/dashboard", data)
}
-func Profile(r render.Render, data base.TmplData, session sessions.Session) {
+func Profile(params martini.Params, r render.Render, data base.TmplData, session sessions.Session) {
data["Title"] = "Profile"
- data["IsSigned"] = auth.IsSignedIn(session)
// TODO: Need to check view self or others.
- user := auth.SignedInUser(session)
+ user, err := models.GetUserByName(params["username"])
+ if err != nil {
+ data["ErrorMsg"] = err
+ log.Error("user.Profile: %v", err)
+ r.HTML(200, "base/error", data)
+ return
+ }
+
data["Avatar"] = user.Avatar
data["Username"] = user.Name
r.HTML(200, "user/profile", data)
@@ -59,11 +65,10 @@ func SignIn(form auth.LogInForm, data base.TmplData, req *http.Request, r render
data["ErrorMsg"] = err
log.Error("user.SignIn: %v", data)
- r.HTML(500, "base/error", nil)
+ r.HTML(200, "base/error", nil)
return
}
- // login success
session.Set("userId", user.Id)
session.Set("userName", user.Name)
r.Redirect("/")
@@ -119,7 +124,7 @@ func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r ren
default:
data["ErrorMsg"] = err
log.Error("user.SignUp: %v", data)
- r.HTML(500, "base/error", nil)
+ r.HTML(200, "base/error", nil)
}
return
}
@@ -127,17 +132,18 @@ func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r ren
r.Redirect("/user/login")
}
-func Delete(req *http.Request, r render.Render) {
+// TODO: unfinished
+func Delete(data base.TmplData, req *http.Request, r render.Render) {
+ data["Title"] = "Delete user"
+
if req.Method == "GET" {
- r.HTML(200, "user/delete", map[string]interface{}{
- "Title": "Delete user",
- })
+ r.HTML(200, "user/delete", data)
return
}
u := &models.User{}
err := models.DeleteUser(u)
- r.HTML(403, "status/403", map[string]interface{}{
- "Title": fmt.Sprintf("%v", err),
- })
+ data["ErrorMsg"] = err
+ log.Error("user.Delete: %v", data)
+ r.HTML(200, "base/error", nil)
}