handlers: add helper newPage func w/ pre-filling
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
surtur 2023-08-15 18:33:48 +02:00
parent 70af5cc86a
commit f0bda26e8c
Signed by: wanderer
SSH Key Fingerprint: SHA256:MdCZyJ2sHLltrLBp0xQO0O1qTW9BT/xl5nXkDvhlMCI
9 changed files with 104 additions and 122 deletions

View File

@ -11,11 +11,13 @@ import (
)
var (
setting *settings.Settings
appver string
slogger *slogging.Slogger
log slogging.Slogger
dbclient *ent.Client
setting *settings.Settings
appver string
appName = "pcmt"
appIsDevel bool
slogger *slogging.Slogger
log slogging.Slogger
dbclient *ent.Client
)
func SetDBClient(client *ent.Client) {
@ -31,5 +33,7 @@ func InitHandlers(s *settings.Settings) {
setting = s
appName = setting.AppName()
appver = setting.Version()
appIsDevel = setting.IsDevel()
}

View File

@ -28,18 +28,16 @@ func Index() echo.HandlerFunc {
}
csrf := c.Get("csrf").(string)
p := newPage()
p.Title = "Welcome!"
p.Current = "home"
p.CSRF = csrf
err := c.Render(
http.StatusOK,
"index.tmpl",
page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Welcome!",
CSRF: csrf,
DevelMode: setting.IsDevel(),
Current: "home",
},
p,
)
if err != nil {
c.Logger().Errorf("error: %q", err)

View File

@ -68,18 +68,16 @@ func Home(client *ent.Client) echo.HandlerFunc {
}
csrf := c.Get("csrf").(string)
p := newPage()
p.Title = "Home"
p.Current = "home"
p.CSRF = csrf
p.Name = username
p.User = u
err := c.Render(http.StatusOK, "home.tmpl",
page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Home",
Name: username,
DevelMode: setting.IsDevel(),
CSRF: csrf,
Current: "home",
User: u,
},
p,
)
if err != nil {
c.Logger().Errorf("error: %q", err)

View File

@ -43,17 +43,16 @@ func Logout() echo.HandlerFunc {
}
}
p := newPage()
p.Title = "Logout"
p.Current = "logout"
p.CSRF = csrf
err := c.Render(
http.StatusOK,
"logout.tmpl",
page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Logout",
CSRF: csrf,
DevelMode: setting.IsDevel(),
Current: "logout",
},
p,
)
if err != nil {
c.Logger().Errorf("error: %q", err)

View File

@ -13,16 +13,14 @@ func ManageAPIKeys() echo.HandlerFunc {
return func(c echo.Context) error {
addHeaders(c)
u := c.Get("sessUsr").(moduser.User)
p := newPage()
p.Title = "Manage API Keys"
p.Current = "api-keys"
p.User = u
err := c.Render(http.StatusOK, "manage/apikeys.tmpl",
page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Manage API Keys",
DevelMode: setting.IsDevel(),
Current: "api-keys",
User: u,
},
p,
)
if err != nil {
c.Logger().Errorf("error: %q", err)

View File

@ -61,15 +61,12 @@ func ManageUsers() echo.HandlerFunc {
path := c.Request().URL.Path
if path == "/manage/users/new" {
p := page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Manage Users - New User",
CSRF: c.Get("csrf").(string),
DevelMode: setting.IsDevel(),
Current: "manage-users-new",
User: u,
}
p := newPage()
p.Title = "Manage Users - New User"
p.Current = "manage-users-new"
p.CSRF = c.Get("csrf").(string)
p.User = u
if flash != nil {
data["flash"] = flash.(string)
@ -125,16 +122,13 @@ func ManageUsers() echo.HandlerFunc {
data["allusers"] = allUsers
p := page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Manage Users",
CSRF: c.Get("csrf").(string),
DevelMode: setting.IsDevel(),
Current: "manage-users",
User: u,
Data: data,
}
p := newPage()
p.Title = "Manage Users"
p.Current = "manage-users"
p.CSRF = c.Get("csrf").(string)
p.User = u
p.Data = data
if flash != nil {
data["flash"] = flash.(string)
@ -192,13 +186,11 @@ func CreateUser() echo.HandlerFunc { //nolint:gocognit
)
}
p := page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Manage Users",
DevelMode: setting.IsDevel(),
Current: "manage-user",
}
p := newPage()
p.Title = "Manage Users"
p.Current = "manage-users"
data := make(map[string]any)
uc := new(userCreate)
@ -295,14 +287,12 @@ func ViewUser() echo.HandlerFunc {
ctx = context.WithValue(context.Background(), moduser.CtxKey{}, slogger)
}
p := page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Manage Users - User Details",
DevelMode: setting.IsDevel(),
Current: "manage-users-user-details",
User: u,
}
p := newPage()
p.Title = "Manage Users - User Details"
p.Current = "manage-users-user-details"
p.User = u
data := make(map[string]any)
uid := new(userID)
@ -405,17 +395,14 @@ func EditUser() echo.HandlerFunc {
ctx = context.WithValue(context.Background(), moduser.CtxKey{}, slogger)
}
p := page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Manage Users - Edit User",
DevelMode: setting.IsDevel(),
Current: "manage-users-edit-user",
User: u,
}
tmpl := "manage/user-edit.tmpl"
data := make(map[string]any)
id := strings.TrimPrefix(strings.TrimSuffix(c.Request().URL.Path, "/edit"), "/manage/users/")
p := newPage()
p.Title = "Manage Users - Edit User"
p.Current = "manage-users-edit-user"
p.User = u
usr, err := getUserByID(ctx, dbclient, id)
if err != nil {
@ -510,17 +497,14 @@ func UpdateUser() echo.HandlerFunc { //nolint:gocognit
ctx = context.WithValue(context.Background(), moduser.CtxKey{}, slogger)
}
p := page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Manage Users - Edit User",
DevelMode: setting.IsDevel(),
Current: "manage-users-edit-user",
User: u,
}
tmpl := "manage/user-edit.tmpl"
data := make(map[string]any)
id := strings.TrimPrefix(strings.TrimSuffix(c.Request().URL.Path, "/update"), "/manage/users/")
p := newPage()
p.Title = "Manage Users - Edit User"
p.Current = "manage-users-edit-user"
p.User = u
usr, err := getUserByID(ctx, dbclient, id)
if err != nil {
@ -692,18 +676,15 @@ func DeleteUserConfirmation() echo.HandlerFunc {
}
csrf := c.Get("csrf").(string)
p := page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Manage Users - Delete User",
CSRF: csrf,
DevelMode: setting.IsDevel(),
Current: "manage-users-delete-user",
User: u,
}
tmpl := "manage/user-delete.tmpl"
data := make(map[string]any)
id := strings.TrimPrefix(strings.TrimSuffix(c.Request().URL.Path, "/delete"), "/manage/users/")
p := newPage()
p.Title = "Manage Users - Delete User"
p.Current = "manage-users-delete-user"
p.CSRF = csrf
p.User = u
usr, err := getUserByID(ctx, dbclient, id)
if err != nil { // nolint:dupl

View File

@ -19,3 +19,13 @@ type page struct {
StatusText string
Data map[string]any
}
func newPage() *page {
p := &page{
AppName: appName,
AppVer: appver,
DevelMode: appIsDevel,
}
return p
}

View File

@ -28,18 +28,16 @@ func Signin() echo.HandlerFunc {
}
csrf := c.Get("csrf").(string)
p := newPage()
p.Title = "Sign in"
p.Current = "signin"
p.CSRF = csrf
return c.Render(
http.StatusOK,
"signin.tmpl",
page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Sign in",
CSRF: csrf,
DevelMode: setting.IsDevel(),
Current: "signin",
},
p,
)
}
}
@ -61,16 +59,13 @@ func SigninPost(client *ent.Client) echo.HandlerFunc {
csrf := c.Get("csrf").(string)
username := cu.Username
password := cu.Password
p := page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Sign in",
CSRF: csrf,
DevelMode: setting.IsDevel(),
Current: "signin",
}
p := newPage()
data := make(map[string]any)
p.Title = "Sign in"
p.Current = "signin"
p.CSRF = csrf
if username == "" || password == "" {
c.Logger().Error("username or password not set, returning to /signin")

View File

@ -45,17 +45,16 @@ func Signup() echo.HandlerFunc {
// }
// c.SetCookie(cookieCSRF)
p := newPage()
p.Title = "Sign up"
p.Current = "signup"
p.CSRF = csrf
err := c.Render(
http.StatusOK,
"signup.tmpl",
page{
AppName: setting.AppName(),
AppVer: appver,
Title: "Sign up",
CSRF: csrf,
DevelMode: setting.IsDevel(),
Current: "signup",
},
p,
)
if err != nil {
log.Warnf("error: %q", err)