diff --git a/wagtail/admin/viewsets/__init__.py b/wagtail/admin/viewsets/__init__.py index 1ae1bd17cf..3d4ddd293c 100644 --- a/wagtail/admin/viewsets/__init__.py +++ b/wagtail/admin/viewsets/__init__.py @@ -11,7 +11,11 @@ class ViewSetRegistry: def populate(self): for fn in hooks.get_hooks("register_admin_viewset"): viewset = fn() - self.register(viewset) + if isinstance(viewset, (list, tuple)): + for vs in viewset: + self.register(vs) + else: + self.register(viewset) def register(self, viewset): # Allow registering a ViewSetGroup, which will register all of its diff --git a/wagtail/test/testapp/wagtail_hooks.py b/wagtail/test/testapp/wagtail_hooks.py index b7ce966022..83cdca3b57 100644 --- a/wagtail/test/testapp/wagtail_hooks.py +++ b/wagtail/test/testapp/wagtail_hooks.py @@ -242,12 +242,7 @@ def add_broken_links_summary_item(request, items): @hooks.register("register_admin_viewset") def register_viewsets(): - return MiscellaneousViewSetGroup() - - -@hooks.register("register_admin_viewset") -def register_json_model_viewsets(): - return JSONModelViewSetGroup() + return [MiscellaneousViewSetGroup(), JSONModelViewSetGroup()] @hooks.register("register_admin_viewset")