Files
sm-user-plugin/controllers/admin_registry.go
Jakub Zych b410a7fea9 feat: register the Users admin screen with the privileged-member guard
- permissions (the four Winter codes and manage_privileged_groups),
  the user navigation item and the embedded admin YAML
- Users controller: list with deactivated users, row states, the
  groups, created date and activated filters, and the form's name,
  surname and email
- a member of a group in golem15.user.privileged_groups (default
  admin) keeps their email, password and row unless the administrator
  holds golem15.users.manage_privileged_groups; the refusal is a 403
  that saves nothing
2026-10-05 13:01:48 +02:00

29 lines
1.0 KiB
Go

package controllers
import (
"git.golem15.com/golem15/summercms/modules/backpack"
"git.golem15.com/golem15/summercms/modules/pact"
)
// AdminControllers is the plugin's admin controller list. app returns the
// booted application; it is asked on every call, so a controller never keeps
// a database handle, a config or a mailer of its own.
func AdminControllers(app func() *backpack.App) []pact.AdminController {
return []pact.AdminController{
usersAdminController{app: app},
}
}
func init() {
var _ pact.AdminController = usersAdminController{}
var _ pact.AdminPermissioned = usersAdminController{}
var _ pact.AdminRecordSource = usersAdminController{}
var _ pact.ListExtendQuery = usersAdminController{}
var _ pact.FormExtendQuery = usersAdminController{}
var _ pact.ListRowStates = usersAdminController{}
var _ pact.FormRules = usersAdminController{}
var _ pact.FilterOptions = usersAdminController{}
var _ pact.FormBeforeUpdate = usersAdminController{}
var _ pact.FormBeforeDelete = usersAdminController{}
}