diff --git a/home.go b/home.go index 827e11a..f53956e 100644 --- a/home.go +++ b/home.go @@ -19,8 +19,11 @@ func handleHome(w http.ResponseWriter, r *http.Request) { login := checkLogin(w, r) if login == nil { - handleLogin(w, r) - return + status := handleLogin(w, r) + if status == nil { + return + } + login = checkLogin(w, r) } data := HomePageData{ diff --git a/login.go b/login.go index 2d8edac..01f6667 100644 --- a/login.go +++ b/login.go @@ -61,10 +61,7 @@ type LoginFormData struct { func handleLogin(w http.ResponseWriter, r *http.Request) *LoginInfo { templateLogin := getTemplate("login.html") - if r.Method == "GET" { - templateLogin.Execute(w, LoginFormData{CanAdmin: false}) - return nil - } else if r.Method == "POST" { + if r.Method == "POST" { // log.Printf("%v", "Parsing Form handleLogin") r.ParseForm() @@ -100,6 +97,9 @@ func handleLogin(w http.ResponseWriter, r *http.Request) *LoginInfo { } return loginInfo + } else if r.Method == "GET" { + templateLogin.Execute(w, LoginFormData{CanAdmin: false}) + return nil } else { http.Error(w, "Unsupported method", http.StatusBadRequest) return nil