Skip to content

Commit

Permalink
Construct admin API using a hook
Browse files Browse the repository at this point in the history
  • Loading branch information
kaedroho authored and m1kola committed Jul 6, 2016
1 parent d9b9f9e commit 57f6218
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 7 deletions.
13 changes: 6 additions & 7 deletions wagtail/wagtailadmin/api/urls.py
Expand Up @@ -3,17 +3,16 @@
from django.conf.urls import url

from wagtail.api.v2.router import WagtailAPIRouter
from wagtail.wagtaildocs.api.admin.endpoints import DocumentsAdminAPIEndpoint
from wagtail.wagtailimages.api.admin.endpoints import ImagesAdminAPIEndpoint
from wagtail.wagtailcore import hooks

from .endpoints import PagesAdminAPIEndpoint

admin_api = WagtailAPIRouter('wagtailadmin_api_v1')
admin_api.register_endpoint('pages', PagesAdminAPIEndpoint)

v1 = WagtailAPIRouter('wagtailadmin_api_v1')
v1.register_endpoint('pages', PagesAdminAPIEndpoint)
v1.register_endpoint('images', ImagesAdminAPIEndpoint)
v1.register_endpoint('documents', DocumentsAdminAPIEndpoint)
for fn in hooks.get_hooks('construct_admin_api'):
fn(admin_api)

urlpatterns = [
url(r'^v2beta/', v1.urls),
url(r'^v2beta/', admin_api.urls),
]
6 changes: 6 additions & 0 deletions wagtail/wagtaildocs/wagtail_hooks.py
Expand Up @@ -12,6 +12,7 @@
from wagtail.wagtailadmin.site_summary import SummaryItem
from wagtail.wagtailcore import hooks
from wagtail.wagtaildocs import admin_urls
from wagtail.wagtaildocs.api.admin.endpoints import DocumentsAdminAPIEndpoint
from wagtail.wagtaildocs.forms import GroupDocumentPermissionFormSet
from wagtail.wagtaildocs.models import get_document_model
from wagtail.wagtaildocs.permissions import permission_policy
Expand All @@ -25,6 +26,11 @@ def register_admin_urls():
]


@hooks.register('construct_admin_api')
def construct_admin_api(router):
router.register_endpoint('documents', DocumentsAdminAPIEndpoint)


class DocumentsMenuItem(MenuItem):
def is_shown(self, request):
return permission_policy.user_has_any_permission(
Expand Down
6 changes: 6 additions & 0 deletions wagtail/wagtailimages/wagtail_hooks.py
Expand Up @@ -12,6 +12,7 @@
from wagtail.wagtailadmin.site_summary import SummaryItem
from wagtail.wagtailcore import hooks
from wagtail.wagtailimages import admin_urls, image_operations
from wagtail.wagtailimages.api.admin.endpoints import ImagesAdminAPIEndpoint
from wagtail.wagtailimages.forms import GroupImagePermissionFormSet
from wagtail.wagtailimages.models import get_image_model
from wagtail.wagtailimages.permissions import permission_policy
Expand All @@ -25,6 +26,11 @@ def register_admin_urls():
]


@hooks.register('construct_admin_api')
def construct_admin_api(router):
router.register_endpoint('images', ImagesAdminAPIEndpoint)


class ImagesMenuItem(MenuItem):
def is_shown(self, request):
return permission_policy.user_has_any_permission(
Expand Down

0 comments on commit 57f6218

Please sign in to comment.