Register Users and Groups menu items from the viewset

pull/12058/head
Sage Abdullah 2024-05-13 10:58:01 +01:00 zatwierdzone przez Matt Westcott
rodzic 60bf31c10e
commit ff9f4d5bc1
3 zmienionych plików z 19 dodań i 41 usunięć

Wyświetl plik

@ -149,6 +149,10 @@ class GroupViewSet(ModelViewSet):
model = Group
ordering = ["name"]
add_to_reference_index = False
menu_name = "groups"
menu_label = _("Groups")
menu_order = 601
add_to_settings_menu = True
index_view_class = IndexView
add_view_class = CreateView

Wyświetl plik

@ -17,6 +17,7 @@ from django.utils.translation import gettext_lazy
from wagtail import hooks
from wagtail.admin.filters import DateRangePickerWidget, WagtailFilterSet
from wagtail.admin.menu import MenuItem
from wagtail.admin.ui.tables import (
BulkActionsCheckboxColumn,
Column,
@ -370,12 +371,26 @@ class HistoryView(generic.HistoryView):
return get_user_display_name(self.object)
class UsersMenuItem(MenuItem):
def is_shown(self, request):
return (
request.user.has_perm(add_user_perm)
or request.user.has_perm(change_user_perm)
or request.user.has_perm(delete_user_perm)
)
class UserViewSet(ModelViewSet):
icon = "user"
model = User
ordering = "name"
add_to_reference_index = False
filterset_class = UserFilterSet
menu_name = "users"
menu_label = gettext_lazy("Users")
menu_order = 600
menu_item_class = UsersMenuItem
add_to_settings_menu = True
index_view_class = IndexView
add_view_class = CreateView

Wyświetl plik

@ -10,7 +10,6 @@ from wagtail.admin.admin_url_finder import (
ModelAdminURLFinder,
register_admin_url_finder,
)
from wagtail.admin.menu import MenuItem
from wagtail.admin.search import SearchArea
from wagtail.compat import AUTH_USER_APP_LABEL, AUTH_USER_MODEL_NAME
from wagtail.permission_policies import ModelPermissionPolicy
@ -54,46 +53,6 @@ delete_user_perm = "{}.delete_{}".format(
)
class UsersMenuItem(MenuItem):
def is_shown(self, request):
return (
request.user.has_perm(add_user_perm)
or request.user.has_perm(change_user_perm)
or request.user.has_perm(delete_user_perm)
)
@hooks.register("register_settings_menu_item")
def register_users_menu_item():
return UsersMenuItem(
_("Users"),
reverse("wagtailusers_users:index"),
name="users",
icon_name="user",
order=600,
)
class GroupsMenuItem(MenuItem):
def is_shown(self, request):
return (
request.user.has_perm("auth.add_group")
or request.user.has_perm("auth.change_group")
or request.user.has_perm("auth.delete_group")
)
@hooks.register("register_settings_menu_item")
def register_groups_menu_item():
return GroupsMenuItem(
_("Groups"),
reverse("wagtailusers_groups:index"),
name="groups",
icon_name="group",
order=601,
)
class UsersSearchArea(SearchArea):
def is_shown(self, request):
return (