Files
sm-user-plugin/admin_navigation.go
Jakub Zych 58595fef27 feat: Organisations admin screen with the avatar and the members manager
- 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
2026-10-05 13:58:54 +02:00

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",
},
},
},
}
}