pcmt/handlers/error.go
surtur 96c0b53493
All checks were successful
continuous-integration/drone/push Build is passing
go,tmpl: implement+activate validator
also ad initial password change:
* switch the password field type to `password`
* add a field for repeated password
2023-09-08 22:56:17 +02:00

45 lines
876 B
Go

// Copyright 2023 wanderer <a_mirre at utb dot cz>
// SPDX-License-Identifier: AGPL-3.0-only
package handlers
import (
"errors"
"fmt"
"strconv"
moduser "git.dotya.ml/mirre-mt/pcmt/modules/user"
"github.com/labstack/echo/v4"
)
var (
ErrNoSession = errors.New("No session found, please log in")
ErrSessionExpired = errors.New("Session expired, log in again")
ErrValidationFailed = errors.New("Check your input data")
)
func renderErrorPage(c echo.Context, status int, statusText, error string) error {
defer addHeaders(c)
strStatus := strconv.Itoa(status)
p := newPage()
p.Title = fmt.Sprintf("Error %s - %s", strStatus, statusText)
p.Current = strStatus
p.Error = error
p.Status = strStatus
p.StatusText = statusText
u, ok := c.Get("sessUsr").(moduser.User)
if ok {
p.User = u
}
return c.Render(
status,
"errorPage.tmpl",
p,
)
}