2017-05-06 21:21:39 +02:00
package router
2017-05-07 02:20:13 +03:00
import (
2017-05-07 00:10:40 +02:00
"html/template"
2017-05-06 21:21:39 +02:00
"net/http"
2017-05-07 00:10:40 +02:00
"github.com/ewhal/nyaa/service/user/form"
2017-05-07 05:04:55 +02:00
"github.com/ewhal/nyaa/service/user"
2017-05-07 00:10:40 +02:00
"github.com/ewhal/nyaa/util/modelHelper"
2017-05-07 02:32:32 +02:00
"github.com/ewhal/nyaa/util/languages"
2017-05-07 00:10:40 +02:00
"github.com/gorilla/mux"
2017-05-06 21:21:39 +02:00
)
2017-05-07 02:32:32 +02:00
var viewRegisterTemplate = template . Must ( template . New ( "userRegister" ) . Funcs ( FuncMap ) . ParseFiles ( "templates/index.html" , "templates/user/register.html" ) )
2017-05-07 04:02:57 +02:00
var viewLoginTemplate = template . Must ( template . New ( "userLogin" ) . Funcs ( FuncMap ) . ParseFiles ( "templates/index.html" , "templates/user/login.html" ) )
2017-05-07 05:04:55 +02:00
var viewRegisterSuccessTemplate = template . Must ( template . New ( "userRegisterSuccess" ) . Funcs ( FuncMap ) . ParseFiles ( "templates/index.html" , "templates/user/signup_success.html" ) )
2017-05-07 00:10:40 +02:00
//var viewTemplate = template.Must(template.New("view").Funcs(FuncMap).ParseFiles("templates/index.html", "templates/view.html"))
//var viewTemplate = template.Must(template.New("view").Funcs(FuncMap).ParseFiles("templates/index.html", "templates/view.html"))
2017-05-07 02:20:13 +03:00
func init ( ) {
template . Must ( viewRegisterTemplate . ParseGlob ( "templates/_*.html" ) )
2017-05-07 04:02:57 +02:00
template . Must ( viewLoginTemplate . ParseGlob ( "templates/_*.html" ) )
2017-05-07 05:04:55 +02:00
template . Must ( viewRegisterSuccessTemplate . ParseGlob ( "templates/_*.html" ) )
2017-05-07 02:20:13 +03:00
}
2017-05-06 21:21:39 +02:00
// Getting View User Registration
func UserRegisterFormHandler ( w http . ResponseWriter , r * http . Request ) {
2017-05-07 00:10:40 +02:00
b := form . RegistrationForm { }
2017-05-07 02:32:32 +02:00
modelHelper . BindValueForm ( & b , r )
languages . SetTranslation ( "en-us" , viewRegisterTemplate )
2017-05-07 02:20:13 +03:00
htv := UserRegisterTemplateVariables { b , NewSearchForm ( ) , Navigation { } , r . URL , mux . CurrentRoute ( r ) }
2017-05-07 03:00:05 +02:00
err := viewRegisterTemplate . ExecuteTemplate ( w , "index.html" , htv )
2017-05-07 00:10:40 +02:00
if err != nil {
http . Error ( w , err . Error ( ) , http . StatusInternalServerError )
}
2017-05-06 21:21:39 +02:00
}
// Getting View User Login
func UserLoginFormHandler ( w http . ResponseWriter , r * http . Request ) {
2017-05-07 04:02:57 +02:00
b := form . LoginForm { }
modelHelper . BindValueForm ( & b , r )
languages . SetTranslation ( "en-us" , viewLoginTemplate )
htv := UserLoginFormVariables { b , NewSearchForm ( ) , Navigation { } , r . URL , mux . CurrentRoute ( r ) }
err := viewLoginTemplate . ExecuteTemplate ( w , "index.html" , htv )
if err != nil {
http . Error ( w , err . Error ( ) , http . StatusInternalServerError )
}
2017-05-06 21:21:39 +02:00
}
// Getting User Profile
func UserProfileHandler ( w http . ResponseWriter , r * http . Request ) {
}
2017-05-07 02:20:13 +03:00
// Getting View User Profile Update
2017-05-06 21:21:39 +02:00
func UserProfileFormHandler ( w http . ResponseWriter , r * http . Request ) {
}
// Post Registration controller
func UserRegisterPostHandler ( w http . ResponseWriter , r * http . Request ) {
2017-05-07 05:04:55 +02:00
// Check same Password
if ( ( r . PostFormValue ( "password" ) == r . PostFormValue ( "password_confirm" ) ) && ( r . PostFormValue ( "password" ) != "" ) ) {
if ( ( form . EmailValidation ( r . PostFormValue ( "email" ) ) ) && ( form . ValidateUsername ( r . PostFormValue ( "username" ) ) ) ) {
_ , err := userService . CreateUser ( w , r )
if ( err == nil ) {
b := form . RegistrationForm { }
htv := UserRegisterTemplateVariables { b , NewSearchForm ( ) , Navigation { } , r . URL , mux . CurrentRoute ( r ) }
err = viewRegisterSuccessTemplate . ExecuteTemplate ( w , "index.html" , htv )
if err != nil {
http . Error ( w , err . Error ( ) , http . StatusInternalServerError )
}
} else {
UserRegisterFormHandler ( w , r )
}
} else {
UserRegisterFormHandler ( w , r )
}
} else {
UserRegisterFormHandler ( w , r )
}
2017-05-06 21:21:39 +02:00
}
// Post Login controller
func UserLoginPostHandler ( w http . ResponseWriter , r * http . Request ) {
}
// Post Profule Update controller
func UserProfilePostHandler ( w http . ResponseWriter , r * http . Request ) {
}