Advertisement
Guest User

Untitled

a guest
Jan 20th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. {{ define "content"}}
  2. <h2> {{.ErrorMessage}}</h2>
  3.  
  4.  
  5. form action="/login" method="POST">
  6. Username:input type="username" name="username">
  7. Password:input type="password" name="password">
  8. input type="submit" value="Submit">
  9. /form>
  10.  
  11. {{end}}
  12.  
  13. {{define "extra_head"}} <title>Title</title>{{end}}
  14. {{define "nav"}}{{end}}
  15.  
  16.  
  17. {{define "extra_footer"}}<footer>copyright@xyz.com</footer>{{end}}
  18. {{template "_layout.html" .}}
  19.  
  20. package main
  21.  
  22. import (
  23.  
  24. "net/http"
  25. "ere.com/handlers"
  26. )
  27.  
  28. func main() {
  29. http.HandleFunc("/register", handlers.RegisterHandler) // setting router rule
  30. http.HandleFunc("/sucess", handlers.RegisterSucessHandler)
  31. http.HandleFunc("/login", handlers.LoginHandler)
  32. http.HandleFunc("/update", handlers.UpdateHandler)
  33. http.HandleFunc("/logout", handlers.LogoutHandler)
  34. http.HandleFunc("/header", handlers.HeaderHandler)
  35.  
  36.  
  37. if err := http.ListenAndServe(":8181", nil); err != nil {
  38. //log.Fatal("http.ListenAndServe: ", err)
  39. }
  40.  
  41.  
  42. }
  43.  
  44. package handlers
  45. import (
  46. "html/template"
  47. )
  48.  
  49. func GetTemplate(name string) *template.Template{
  50. tmpl := template.Must(template.ParseFiles(
  51. "frontend/templates/_layout.html",
  52. "frontend/templates/" + name + ".html",
  53. ))
  54.  
  55.  
  56. return tmpl
  57. }
  58.  
  59. type viewModel struct {
  60. Id bson.ObjectId
  61. Email string
  62. Password string
  63. FirstName string
  64. LastName string
  65. ErrorMessage string
  66. }
  67. func LoginHandler (response http.ResponseWriter, request *http.Request) {
  68. viewModel:=viewmodels.RegisterViewModel{}
  69.  
  70. if (request.Method == "POST") {
  71.  
  72. request.ParseForm()
  73. user := models.User{}
  74. user.Email = request.Form.Get("username")
  75. user.Password = request.Form.Get("password")
  76. boolUser, userID := user.FindUserDB()
  77.  
  78. if (boolUser != true) {
  79.  
  80. viewModel.ErrorMessage = "incorrect username or password"
  81.  
  82. //need help here
  83.  
  84. t, err := template.New("foo").Parse(template.HTML("login"))
  85. err = t.ExecuteTemplate(response, "T", viewModel)
  86.  
  87.  
  88. err := GetTemplate("login").Execute(response, nil, )
  89.  
  90. if err != nil {
  91. panic(err)
  92. }
  93.  
  94. }else {
  95.  
  96. setSession(userID, response)
  97. http.Redirect(response, request, "/update", 302)
  98. }
  99.  
  100.  
  101. }else {
  102. err := GetTemplate("login").Execute(response, nil,)
  103.  
  104. if err != nil {
  105. panic(err)
  106. }
  107.  
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement