kopia lustrzana https://github.com/wagtail/wagtail
Register Users and Groups menu items from the viewset
rodzic
60bf31c10e
commit
ff9f4d5bc1
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 (
|
||||
|
|
Ładowanie…
Reference in New Issue