Fix nil render data on invalid password
This would cause this error: template: head.html:7:15: executing "head.html" at <index .Global.Path 0>: error calling index: index of untyped nil
This commit is contained in:
parent
50e131244a
commit
92b3016196
|
@ -171,6 +171,14 @@ func handleLogin(ctx *alps.Context) error {
|
||||||
password := ctx.FormValue("password")
|
password := ctx.FormValue("password")
|
||||||
remember := ctx.FormValue("remember-me")
|
remember := ctx.FormValue("remember-me")
|
||||||
|
|
||||||
|
renderData := struct {
|
||||||
|
alps.BaseRenderData
|
||||||
|
CanRememberMe bool
|
||||||
|
}{
|
||||||
|
BaseRenderData: *alps.NewBaseRenderData(ctx),
|
||||||
|
CanRememberMe: ctx.Server.Options.LoginKey != nil,
|
||||||
|
}
|
||||||
|
|
||||||
if username == "" && password == "" {
|
if username == "" && password == "" {
|
||||||
username, password = ctx.GetLoginToken()
|
username, password = ctx.GetLoginToken()
|
||||||
}
|
}
|
||||||
|
@ -179,7 +187,7 @@ func handleLogin(ctx *alps.Context) error {
|
||||||
s, err := ctx.Server.Sessions.Put(username, password)
|
s, err := ctx.Server.Sessions.Put(username, password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if _, ok := err.(alps.AuthError); ok {
|
if _, ok := err.(alps.AuthError); ok {
|
||||||
return ctx.Render(http.StatusOK, "login.html", nil)
|
return ctx.Render(http.StatusOK, "login.html", &renderData)
|
||||||
}
|
}
|
||||||
return fmt.Errorf("failed to put connection in pool: %v", err)
|
return fmt.Errorf("failed to put connection in pool: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -195,14 +203,7 @@ func handleLogin(ctx *alps.Context) error {
|
||||||
return ctx.Redirect(http.StatusFound, "/mailbox/INBOX")
|
return ctx.Redirect(http.StatusFound, "/mailbox/INBOX")
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.Render(http.StatusOK, "login.html",
|
return ctx.Render(http.StatusOK, "login.html", &renderData)
|
||||||
&struct {
|
|
||||||
alps.BaseRenderData
|
|
||||||
CanRememberMe bool
|
|
||||||
}{
|
|
||||||
BaseRenderData: *alps.NewBaseRenderData(ctx),
|
|
||||||
CanRememberMe: ctx.Server.Options.LoginKey != nil,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleLogout(ctx *alps.Context) error {
|
func handleLogout(ctx *alps.Context) error {
|
||||||
|
|
Loading…
Reference in a new issue