kopia lustrzana https://github.com/wagtail/wagtail
Add AdminOnlyMenuItem and update custom report documentation to use it
rodzic
587ccdc8b0
commit
5e95e91226
|
@ -82,7 +82,7 @@ For our example, we might want to know when the page was last published, so we'l
|
||||||
(dictionary)
|
(dictionary)
|
||||||
|
|
||||||
A dictionary of any fields/attributes in ``list_export`` for which you wish to manually specify a heading for the spreadsheet
|
A dictionary of any fields/attributes in ``list_export`` for which you wish to manually specify a heading for the spreadsheet
|
||||||
column, and their headings. If unspecified, heading will be taken from the field ``verbose_name`` if applicable, and the
|
column, and their headings. If unspecified, the heading will be taken from the field ``verbose_name`` if applicable, and the
|
||||||
attribute string otherwise. For our example, ``last_published_at`` will automatically get a heading of ``"Last Published At"``,
|
attribute string otherwise. For our example, ``last_published_at`` will automatically get a heading of ``"Last Published At"``,
|
||||||
but a simple "Last Published" looks neater. We'll add that by setting ``export_heading_overrides``:
|
but a simple "Last Published" looks neater. We'll add that by setting ``export_heading_overrides``:
|
||||||
|
|
||||||
|
@ -175,6 +175,9 @@ url for the report, you will need to use the ``register_admin_urls`` hook (see :
|
||||||
url(r'^reports/unpublished-changes/$', UnpublishedChangesReportView.as_view(), name='unpublished_changes_report'),
|
url(r'^reports/unpublished-changes/$', UnpublishedChangesReportView.as_view(), name='unpublished_changes_report'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
Here, we use the ``AdminOnlyMenuItem`` class to ensure our report icon is only shown to superusers. To make the report visible to all users,
|
||||||
|
you could replace this with ``MenuItem``.
|
||||||
|
|
||||||
|
|
||||||
The full code
|
The full code
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
@ -205,14 +208,14 @@ The full code
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
|
|
||||||
from wagtail.admin.menu import MenuItem
|
from wagtail.admin.menu import AdminOnlyMenuItem
|
||||||
from wagtail.core import hooks
|
from wagtail.core import hooks
|
||||||
|
|
||||||
from .views import UnpublishedChangesReportView
|
from .views import UnpublishedChangesReportView
|
||||||
|
|
||||||
@hooks.register('register_reports_menu_item')
|
@hooks.register('register_reports_menu_item')
|
||||||
def register_unpublished_changes_report_menu_item():
|
def register_unpublished_changes_report_menu_item():
|
||||||
return MenuItem("Pages with unpublished changes", reverse('unpublished_changes_report'), classnames='icon icon-' + UnpublishedChangesReportView.header_icon, order=700)
|
return AdminOnlyMenuItem("Pages with unpublished changes", reverse('unpublished_changes_report'), classnames='icon icon-' + UnpublishedChangesReportView.header_icon, order=700)
|
||||||
|
|
||||||
@hooks.register('register_admin_urls')
|
@hooks.register('register_admin_urls')
|
||||||
def register_unpublished_changes_report_url():
|
def register_unpublished_changes_report_url():
|
||||||
|
|
|
@ -113,6 +113,13 @@ class SubmenuMenuItem(MenuItem):
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
class AdminOnlyMenuItem(MenuItem):
|
||||||
|
"""A MenuItem which is only shown to superusers"""
|
||||||
|
|
||||||
|
def is_shown(self, request):
|
||||||
|
return request.user.is_superuser
|
||||||
|
|
||||||
|
|
||||||
admin_menu = Menu(register_hook_name='register_admin_menu_item', construct_hook_name='construct_main_menu')
|
admin_menu = Menu(register_hook_name='register_admin_menu_item', construct_hook_name='construct_main_menu')
|
||||||
settings_menu = Menu(register_hook_name='register_settings_menu_item', construct_hook_name='construct_settings_menu')
|
settings_menu = Menu(register_hook_name='register_settings_menu_item', construct_hook_name='construct_settings_menu')
|
||||||
reports_menu = Menu(register_hook_name='register_reports_menu_item', construct_hook_name='construct_reports_menu')
|
reports_menu = Menu(register_hook_name='register_reports_menu_item', construct_hook_name='construct_reports_menu')
|
||||||
|
|
Ładowanie…
Reference in New Issue