Hooks for existing "Other Searches" options

Largely cloned from existing menu hooks
pull/2032/head
Ben Kerle 2015-10-06 23:36:17 +10:00 zatwierdzone przez Matt Westcott
rodzic 759bb84451
commit 7b088df886
4 zmienionych plików z 59 dodań i 0 usunięć

Wyświetl plik

@ -4,6 +4,7 @@ from django.utils.translation import ugettext_lazy as _
from wagtail.wagtailcore import hooks
from wagtail.wagtailadmin.menu import MenuItem, SubmenuMenuItem, settings_menu
from wagtail.wagtailadmin.search import SearchArea
class ExplorerMenuItem(MenuItem):
@ -30,3 +31,12 @@ def register_settings_menu():
@hooks.register('register_permissions')
def register_permissions():
return Permission.objects.filter(content_type__app_label='wagtailadmin', codename='access_admin')
@hooks.register('register_admin_search_area')
def register_pages_search_area():
return SearchArea(
_('Pages'), urlresolvers.reverse('wagtailadmin_pages:search'),
name='pages',
classnames='icon icon-folder-open-inverse',
order=100)

Wyświetl plik

@ -8,6 +8,7 @@ from django.contrib.auth.models import Permission
from wagtail.wagtailcore import hooks
from wagtail.wagtailadmin.menu import MenuItem
from wagtail.wagtailadmin.site_summary import SummaryItem
from wagtail.wagtailadmin.search import SearchArea
from wagtail.wagtaildocs import admin_urls
from wagtail.wagtaildocs.models import Document
@ -82,3 +83,17 @@ class DocumentsSummaryItem(SummaryItem):
@hooks.register('construct_homepage_summary_items')
def add_documents_summary_item(request, items):
items.append(DocumentsSummaryItem(request))
class DocsSearchArea(SearchArea):
def is_shown(self, request):
return request.user.has_perm('wagtaildocs.add_document') or request.user.has_perm('wagtaildocs.change_document')
@hooks.register('register_admin_search_area')
def register_documents_search_area():
return DocsSearchArea(
_('Documents'), urlresolvers.reverse('wagtaildocs:index'),
name='documents',
classnames='icon icon-doc-full-inverse',
order=400)

Wyświetl plik

@ -8,6 +8,7 @@ from django.contrib.auth.models import Permission
from wagtail.wagtailcore import hooks
from wagtail.wagtailadmin.menu import MenuItem
from wagtail.wagtailadmin.site_summary import SummaryItem
from wagtail.wagtailadmin.search import SearchArea
from wagtail.wagtailimages import admin_urls, image_operations
from wagtail.wagtailimages.models import get_image_model
@ -91,3 +92,17 @@ class ImagesSummaryItem(SummaryItem):
@hooks.register('construct_homepage_summary_items')
def add_images_summary_item(request, items):
items.append(ImagesSummaryItem(request))
class ImagesSearchArea(SearchArea):
def is_shown(self, request):
return request.user.has_perm('wagtailimages.add_image') or request.user.has_perm('wagtailimages.change_image')
@hooks.register('register_admin_search_area')
def register_images_search_area():
return ImagesSearchArea(
_('Images'), urlresolvers.reverse('wagtailimages:index'),
name='images',
classnames='icon icon-image',
order=200)

Wyświetl plik

@ -7,6 +7,7 @@ from django.utils.translation import ugettext_lazy as _
from wagtail.wagtailcore import hooks
from wagtail.wagtailcore.compat import AUTH_USER_APP_LABEL, AUTH_USER_MODEL_NAME
from wagtail.wagtailadmin.menu import MenuItem
from wagtail.wagtailadmin.search import SearchArea
from wagtail.wagtailusers.urls import users, groups
@ -75,3 +76,21 @@ def register_permissions():
group_permissions = Q(content_type__app_label='auth', codename__in=['add_group', 'change_group', 'delete_group'])
return Permission.objects.filter(user_permissions | group_permissions)
class UsersSearchArea(SearchArea):
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_admin_search_area')
def register_users_search_area():
return UsersSearchArea(
_('Users'), urlresolvers.reverse('wagtailusers_users:index'),
name='users',
classnames='icon icon-user',
order=600)