示例#1
0
// Register implemented Post method for RegisterRouter.
func (this *RegisterRouter) Register() {
	this.Data["IsRegister"] = true
	this.TplNames = "auth/register.html"

	// no need login
	if this.CheckLoginRedirect(false) {
		return
	}

	form := models.RegisterForm{Locale: this.Locale}
	// valid form and put errors to template context
	if this.ValidFormSets(&form) == false {
		return
	}

	// Create new user.
	user := new(models.User)

	// set default Lang
	user.Lang = this.Locale.Index()

	if err := models.RegisterUser(user, form); err == nil {
		models.SendRegisterMail(this.Locale, user)

		// login user
		models.LoginUser(user, &this.Controller, false)

		this.FlashRedirect("/settings/profile", 302, "RegSuccess")

		return

	} else {
		beego.Error("Register: Failed ", err)
	}
}