Created
March 10, 2021 23:42
-
-
Save kiwiheretic/9c970a21b7a0f603d258bef6a7d9f649 to your computer and use it in GitHub Desktop.
Altered permissions.py code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from wagtail.contrib.modeladmin.options import ( | |
ModelAdmin, modeladmin_register) | |
from .models import SiteSettings , GlobalSettings | |
from django.contrib.auth.models import Permission | |
from django.utils.translation import gettext_lazy as _ | |
from django.urls import reverse, path, include | |
from wagtail.admin.menu import MenuItem | |
from wagtail.core import hooks | |
from .permissions import permission_policy | |
class GlobalSettingsAdmin(ModelAdmin): | |
model = GlobalSettings | |
add_to_settings_menu = True # or True to add your model to the Settings sub-menu | |
class SiteSettingsAdmin(ModelAdmin): | |
model = SiteSettings | |
menu_label = 'Other Content' # ditch this to use verbose_name_plural from model | |
menu_icon = 'cog' # change as required | |
menu_order = 200 # will put in 3rd place (000 being 1st, 100 2nd) | |
add_to_settings_menu = False # or True to add your model to the Settings sub-menu | |
class RedirectsMenuItem(MenuItem): | |
pass | |
# def is_shown(self, request): | |
# return permission_policy.user_has_any_permission(request.user, ['add', 'change', 'delete']) | |
#@hooks.register('register_settings_menu_item') | |
def register_redirects_menu_item(): | |
return RedirectsMenuItem( | |
_('Global Settings'), reverse('sitesettings_globalsettings_modeladmin_edit', args=(1,)), classnames='icon icon-cog', order=800 | |
) | |
#@hooks.register('register_permissions') | |
#def register_permissions(): | |
# return Permission.objects.filter( | |
# content_type__app_label='redirects', codename__in=['add_redirect', 'change_redirect', 'delete_redirect'] | |
# ) | |
# Now you just need to register your customised ModelAdmin class with Wagtail | |
modeladmin_register(SiteSettingsAdmin) | |
modeladmin_register(GlobalSettingsAdmin) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Try adding this:
class GlobalSettingsMenuItem(ModelAdminMenuItem):
def is_shown(self, request):
return False
class GlobalSettingsAdmin(ModelAdmin):
model = GlobalSettings
add_to_settings_menu = True # or True to add your model to the Settings sub-menu