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
This commit is contained in:
28
controllers/admin_registry.go
Normal file
28
controllers/admin_registry.go
Normal file
@@ -0,0 +1,28 @@
|
||||
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{}
|
||||
}
|
||||
Reference in New Issue
Block a user