aboutsummaryrefslogtreecommitdiff
path: root/routers/user/user.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/user/user.go')
-rw-r--r--routers/user/user.go56
1 files changed, 36 insertions, 20 deletions
diff --git a/routers/user/user.go b/routers/user/user.go
index f495cb13..d38eb1ce 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -34,7 +34,7 @@ func Dashboard(ctx *middleware.Context) {
return
}
ctx.Data["Feeds"] = feeds
- ctx.HTML(200, "user/dashboard", ctx.Data)
+ ctx.HTML(200, "user/dashboard")
}
func Profile(ctx *middleware.Context, params martini.Params) {
@@ -70,19 +70,19 @@ func Profile(ctx *middleware.Context, params martini.Params) {
}
ctx.Data["PageIsUserProfile"] = true
- ctx.HTML(200, "user/profile", ctx.Data)
+ ctx.HTML(200, "user/profile")
}
func SignIn(ctx *middleware.Context, form auth.LogInForm) {
ctx.Data["Title"] = "Log In"
if ctx.Req.Method == "GET" {
- ctx.HTML(200, "user/signin", ctx.Data)
+ ctx.HTML(200, "user/signin")
return
}
if hasErr, ok := ctx.Data["HasError"]; ok && hasErr.(bool) {
- ctx.HTML(200, "user/signin", ctx.Data)
+ ctx.HTML(200, "user/signin")
return
}
@@ -112,8 +112,14 @@ func SignUp(ctx *middleware.Context, form auth.RegisterForm) {
ctx.Data["Title"] = "Sign Up"
ctx.Data["PageIsSignUp"] = true
+ if base.Service.DisenableRegisteration {
+ ctx.Data["DisenableRegisteration"] = true
+ ctx.HTML(200, "user/signup")
+ return
+ }
+
if ctx.Req.Method == "GET" {
- ctx.HTML(200, "user/signup", ctx.Data)
+ ctx.HTML(200, "user/signup")
return
}
@@ -126,7 +132,7 @@ func SignUp(ctx *middleware.Context, form auth.RegisterForm) {
}
if ctx.HasError() {
- ctx.HTML(200, "user/signup", ctx.Data)
+ ctx.HTML(200, "user/signup")
return
}
@@ -139,11 +145,13 @@ func SignUp(ctx *middleware.Context, form auth.RegisterForm) {
var err error
if u, err = models.RegisterUser(u); err != nil {
- switch err.Error() {
- case models.ErrUserAlreadyExist.Error():
+ switch err {
+ case models.ErrUserAlreadyExist:
ctx.RenderWithErr("Username has been already taken", "user/signup", &form)
- case models.ErrEmailAlreadyUsed.Error():
+ case models.ErrEmailAlreadyUsed:
ctx.RenderWithErr("E-mail address has been already used", "user/signup", &form)
+ case models.ErrUserNameIllegal:
+ ctx.RenderWithErr(models.ErrRepoNameIllegal.Error(), "user/signup", &form)
default:
ctx.Handle(200, "user.SignUp", err)
}
@@ -153,12 +161,16 @@ func SignUp(ctx *middleware.Context, form auth.RegisterForm) {
log.Trace("%s User created: %s", ctx.Req.RequestURI, strings.ToLower(form.UserName))
// Send confirmation e-mail.
- if base.Service.RegisterEmailConfirm {
+ if base.Service.RegisterEmailConfirm && u.Id > 1 {
mailer.SendRegisterMail(ctx.Render, u)
ctx.Data["IsSendRegisterMail"] = true
ctx.Data["Email"] = u.Email
ctx.Data["Hours"] = base.Service.ActiveCodeLives / 60
- ctx.Render.HTML(200, "user/active", ctx.Data)
+ ctx.HTML(200, "user/active")
+
+ if err = ctx.Cache.Put("MailResendLimit_"+u.LowerName, u.LowerName, 180); err != nil {
+ log.Error("Set cache(MailResendLimit) fail: %v", err)
+ }
return
}
ctx.Redirect("/user/login")
@@ -170,7 +182,7 @@ func Delete(ctx *middleware.Context) {
ctx.Data["IsUserPageSettingDelete"] = true
if ctx.Req.Method == "GET" {
- ctx.HTML(200, "user/delete", ctx.Data)
+ ctx.HTML(200, "user/delete")
return
}
@@ -195,7 +207,7 @@ func Delete(ctx *middleware.Context) {
}
}
- ctx.HTML(200, "user/delete", ctx.Data)
+ ctx.HTML(200, "user/delete")
}
const (
@@ -218,15 +230,15 @@ func Feeds(ctx *middleware.Context, form auth.FeedsForm) {
}
func Issues(ctx *middleware.Context) {
- ctx.HTML(200, "user/issues", ctx.Data)
+ ctx.HTML(200, "user/issues")
}
func Pulls(ctx *middleware.Context) {
- ctx.HTML(200, "user/pulls", ctx.Data)
+ ctx.HTML(200, "user/pulls")
}
func Stars(ctx *middleware.Context) {
- ctx.HTML(200, "user/stars", ctx.Data)
+ ctx.HTML(200, "user/stars")
}
func Activate(ctx *middleware.Context) {
@@ -239,12 +251,16 @@ func Activate(ctx *middleware.Context) {
}
// Resend confirmation e-mail.
if base.Service.RegisterEmailConfirm {
- ctx.Data["Hours"] = base.Service.ActiveCodeLives / 60
- mailer.SendActiveMail(ctx.Render, ctx.User)
+ if ctx.Cache.IsExist("MailResendLimit_" + ctx.User.LowerName) {
+ ctx.Data["ResendLimited"] = true
+ } else {
+ ctx.Data["Hours"] = base.Service.ActiveCodeLives / 60
+ mailer.SendActiveMail(ctx.Render, ctx.User)
+ }
} else {
ctx.Data["ServiceNotEnabled"] = true
}
- ctx.Render.HTML(200, "user/active", ctx.Data)
+ ctx.HTML(200, "user/active")
return
}
@@ -263,5 +279,5 @@ func Activate(ctx *middleware.Context) {
}
ctx.Data["IsActivateFailed"] = true
- ctx.Render.HTML(200, "user/active", ctx.Data)
+ ctx.HTML(200, "user/active")
}