dnscms: remove some wordpress import functionality, keep fields around but defer

This commit is contained in:
2026-05-23 01:31:44 +02:00
parent 10763f0b5d
commit 0b0fba174e
9 changed files with 127 additions and 401 deletions
+8 -41
View File
@@ -9,13 +9,17 @@ from grapple.models import (
)
from wagtail.admin.panels import FieldPanel, FieldRowPanel, MultiFieldPanel
from wagtail.fields import RichTextField, StreamField
from wagtail.models import Page
from wagtail.models import Page, PageManager
from wagtail.search import index
from wagtail_headless_preview.models import HeadlessMixin
from dnscms.blocks import ImageSliderBlock
from dnscms.fields import CommonStreamField
from dnscms.wordpress.models import WPImportedPageMixin
from dnscms.wordpress.models import DeferWPFieldsManagerMixin, WPImportedPageMixin
class VenuePageManager(DeferWPFieldsManagerMixin, PageManager):
pass
@register_singular_query_field("venueIndex")
@@ -59,6 +63,8 @@ class VenuePage(HeadlessMixin, WPImportedPageMixin, Page):
# should not be able to be shown in menus
show_in_menus = False
objects = VenuePageManager()
featured_image = models.ForeignKey(
"images.CustomImage",
null=True,
@@ -178,42 +184,3 @@ class VenuePage(HeadlessMixin, WPImportedPageMixin, Page):
search_fields = Page.search_fields + [
index.SearchField("body"),
]
def import_wordpress_data(self, data):
import html
# Wagtail page model fields
self.title = html.unescape(data["title"])
self.slug = data["slug"]
self.first_published_at = data["first_published_at"]
self.last_published_at = data["last_published_at"]
self.latest_revision_created_at = data["latest_revision_created_at"]
self.search_description = data["search_description"]
# debug fields
self.wp_post_id = data["wp_post_id"]
self.wp_post_type = data["wp_post_type"]
self.wp_link = data["wp_link"]
self.wp_raw_content = data["wp_raw_content"]
self.wp_block_json = data["wp_block_json"]
self.wp_processed_content = data["wp_processed_content"]
self.wp_normalized_styles = data["wp_normalized_styles"]
self.wp_post_meta = data["wp_post_meta"]
# own model fields
self.body = data["body"] or ""
meta = data["wp_post_meta"]
self.show_as_bookable = meta.get("neuf_venues_show_on_booking_page", False)
self.preposition = meta.get("neuf_venues_preposition") or ""
self.floor = meta.get("neuf_venues_floor") or ""
self.used_for = meta.get("neuf_venues_used_for") or ""
self.capability_bar = meta.get("neuf_venues_bar") or ""
self.capability_audio = meta.get("neuf_venues_audio") or ""
self.capability_lighting = meta.get("neuf_venues_lighting") or ""
self.capability_audio_video = meta.get("neuf_venues_audio_video") or ""
self.capacity_legal = meta.get("neuf_venues_capacity_legal") or ""
self.capacity_standing = meta.get("neuf_venues_capacity_standing") or ""
self.capacity_sitting = meta.get("neuf_venues_capacity_sitting") or ""