feat(handler): HandleCreateScreenUser liest role; UserRole ans Template übergeben
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
f1dcb4f1d3
commit
03ea3edb8b
1 changed files with 14 additions and 2 deletions
|
|
@ -201,7 +201,7 @@ func HandleAdminUI(tenants *store.TenantStore, screens *store.ScreenStore, auth
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// HandleCreateScreenUser creates a new screen_user for the default tenant.
|
// HandleCreateScreenUser creates a new screen user (role: screen_user or restricted) for the default tenant.
|
||||||
func HandleCreateScreenUser(auth *store.AuthStore) http.HandlerFunc {
|
func HandleCreateScreenUser(auth *store.AuthStore) http.HandlerFunc {
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
if err := r.ParseForm(); err != nil {
|
if err := r.ParseForm(); err != nil {
|
||||||
|
|
@ -215,12 +215,17 @@ func HandleCreateScreenUser(auth *store.AuthStore) http.HandlerFunc {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
role := r.FormValue("role")
|
||||||
|
if role != "screen_user" && role != "restricted" {
|
||||||
|
role = "screen_user"
|
||||||
|
}
|
||||||
|
|
||||||
tenantSlug := "morz"
|
tenantSlug := "morz"
|
||||||
if u := reqcontext.UserFromContext(r.Context()); u != nil && u.TenantSlug != "" {
|
if u := reqcontext.UserFromContext(r.Context()); u != nil && u.TenantSlug != "" {
|
||||||
tenantSlug = u.TenantSlug
|
tenantSlug = u.TenantSlug
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := auth.CreateScreenUser(r.Context(), tenantSlug, username, password)
|
_, err := auth.CreateScreenUser(r.Context(), tenantSlug, username, password, role)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("create screen user failed", "event", "create_screen_user_failed",
|
slog.Error("create screen user failed", "event", "create_screen_user_failed",
|
||||||
"tenant_slug", tenantSlug, "username", username, "err", err)
|
"tenant_slug", tenantSlug, "username", username, "err", err)
|
||||||
|
|
@ -337,6 +342,7 @@ func HandleScreenOverview(screens *store.ScreenStore, schedules *store.ScreenSch
|
||||||
"Cards": cards,
|
"Cards": cards,
|
||||||
"CSRFToken": csrfToken,
|
"CSRFToken": csrfToken,
|
||||||
"GlobalOverride": activeOverride,
|
"GlobalOverride": activeOverride,
|
||||||
|
"UserRole": u.Role,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -450,6 +456,11 @@ func HandleManageUI(
|
||||||
serverTimezone = time.Now().Location().String()
|
serverTimezone = time.Now().Location().String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
userRole := ""
|
||||||
|
if u := reqcontext.UserFromContext(r.Context()); u != nil {
|
||||||
|
userRole = u.Role
|
||||||
|
}
|
||||||
|
|
||||||
renderTemplate(w, t, map[string]any{
|
renderTemplate(w, t, map[string]any{
|
||||||
"Screen": screen,
|
"Screen": screen,
|
||||||
"Tenant": tenant,
|
"Tenant": tenant,
|
||||||
|
|
@ -465,6 +476,7 @@ func HandleManageUI(
|
||||||
"CSRFToken": csrfToken,
|
"CSRFToken": csrfToken,
|
||||||
"DisplayState": displayState,
|
"DisplayState": displayState,
|
||||||
"Schedule": schedule,
|
"Schedule": schedule,
|
||||||
|
"UserRole": userRole,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue