From 080d9f92d0b10e0aa333cf1633eb72079e495b5a Mon Sep 17 00:00:00 2001 From: Lorenz Padberg Date: Mon, 8 Apr 2024 18:36:20 +0200 Subject: [PATCH] Add wagtail image component. And modify resolvers --- client/src/components/modules/Module.vue | 10 ++-- .../src/components/modules/ModuleTeaser.vue | 10 ++-- client/src/components/ui/WagtailImage.vue | 56 +++++++++++++++++++ server/books/schema/interfaces/module.py | 6 +- server/core/urls.py | 10 +++- 5 files changed, 80 insertions(+), 12 deletions(-) create mode 100644 client/src/components/ui/WagtailImage.vue diff --git a/client/src/components/modules/Module.vue b/client/src/components/modules/Module.vue index 4222df2d..83cb0008 100644 --- a/client/src/components/modules/Module.vue +++ b/client/src/components/modules/Module.vue @@ -28,11 +28,10 @@ {{ module.title }}
- + + + +
-
+ + + + +
@@ -33,6 +34,7 @@ import Pill from '@/components/ui/Pill.vue'; import { ModuleCategoryNode, ModuleLevelNode } from '@/__generated__/graphql'; import { computed } from '@vue/reactivity'; +import WagtailImage from "@/components/ui/WagtailImage.vue"; export interface Props { metaTitle: string; diff --git a/client/src/components/ui/WagtailImage.vue b/client/src/components/ui/WagtailImage.vue new file mode 100644 index 00000000..7b83105b --- /dev/null +++ b/client/src/components/ui/WagtailImage.vue @@ -0,0 +1,56 @@ + + + diff --git a/server/books/schema/interfaces/module.py b/server/books/schema/interfaces/module.py index 87d7919e..b323c39d 100644 --- a/server/books/schema/interfaces/module.py +++ b/server/books/schema/interfaces/module.py @@ -1,6 +1,7 @@ import graphene from graphene import relay - +from wagtail.images.models import Image +from api.graphene_wagtail import generate_image_url class ModuleInterface(relay.Node): pk = graphene.Int() @@ -14,4 +15,5 @@ class ModuleInterface(relay.Node): @staticmethod def resolve_hero_image(parent, info, **kwargs): if parent.hero_image: - return parent.hero_image.file.url + image = Image.objects.get(id=parent.hero_image.id) + return generate_image_url(image, 'original') diff --git a/server/core/urls.py b/server/core/urls.py index c062f80b..25bce87f 100644 --- a/server/core/urls.py +++ b/server/core/urls.py @@ -6,23 +6,31 @@ from django.views.generic import RedirectView from wagtail.admin import urls as wagtailadmin_urls from wagtail import urls as wagtail_urls from wagtail.documents import urls as wagtaildocs_urls +#from wagtail.images import urls as wagtailimages_urls +from wagtail.images.views.serve import ServeView from wagtailautocomplete.urls.admin import urlpatterns as autocomplete_admin_urls from core import views -from core.views import override_wagtailadmin_explore_default_ordering +from core.views import override_wagtailadmin_explore_default_ordering, user_image urlpatterns = [ # django admin re_path(r"^guru/", admin.site.urls), re_path(r"^statistics/", include("statistics.urls", namespace="statistics")), # wagtail + re_path(r'^api/images/([^/]*)/(\d*)/([^/]*)/[^/]*$', ServeView.as_view(action='redirect'), name='wagtailimages_serve'), + re_path(r"^cms/autocomplete/", include(autocomplete_admin_urls)), re_path(r"^cms/pages/(\d+)/$", override_wagtailadmin_explore_default_ordering), re_path(r"^cms/", include(wagtailadmin_urls)), re_path(r"^documents/", include(wagtaildocs_urls)), + + #re_path(r"^images/", include(wagtailimages_urls)), + # graphql backend re_path(r"^api/", include("api.urls", namespace="api")), + # favicon re_path( r"^favicon\.ico$",