- controller golem15.user.organisations behind golem15.users.access_users - list and form (name, slug preset from the name, description, avatar) - members relation manager: link sets and unlink clears users.organisation_id - deleting an organisation releases its members first - Organisation gains Fillable, Rules, MorphName, AttachRelations, BeforeValidate and the Members relation; models.Slugify - navigation side item organisations - TestAdminOrganisations, TestAdminOrganisationMembers, TestSlugify
46 lines
1.4 KiB
Go
46 lines
1.4 KiB
Go
package user
|
|
|
|
import (
|
|
"git.golem15.com/golem15/sm-user-plugin/controllers"
|
|
"git.golem15.com/golem15/summercms/modules/pact"
|
|
)
|
|
|
|
// Navigation is the plugin's Winter registerNavigation() entry: the main item
|
|
// user (order 555) with its side menu. Controller names an admin controller
|
|
// id in place of a backend URL, and icons are lucide names.
|
|
func (*Plugin) Navigation() []pact.NavigationItem {
|
|
return []pact.NavigationItem{
|
|
{
|
|
Code: "user",
|
|
Label: "golem15.user::lang.users.menu_label",
|
|
Icon: "user",
|
|
Permissions: []string{"golem15.users.*"},
|
|
Order: 555,
|
|
Controller: "golem15.user.users",
|
|
SideMenu: []pact.NavigationItem{
|
|
{
|
|
Code: "users",
|
|
Label: "golem15.user::lang.users.menu_label",
|
|
Icon: "user",
|
|
Permissions: []string{controllers.PermissionAccessUsers},
|
|
Controller: "golem15.user.users",
|
|
},
|
|
{
|
|
Code: "usergroups",
|
|
Label: "golem15.user::lang.groups.all_groups",
|
|
Icon: "users",
|
|
Permissions: []string{controllers.PermissionAccessGroups},
|
|
Controller: "golem15.user.usergroups",
|
|
},
|
|
{
|
|
Code: "organisations",
|
|
Label: "golem15.user::lang.organisation.menu_label",
|
|
Icon: "users-round",
|
|
Permissions: []string{controllers.PermissionAccessUsers},
|
|
Controller: "golem15.user.organisations",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|