From be4dac3b512d161a981ae904609b0e154e52a09f Mon Sep 17 00:00:00 2001 From: Lorenz Padberg Date: Fri, 12 Apr 2024 12:07:48 +0200 Subject: [PATCH] Remove Clean Module form --- server/books/models/module.py | 38 +++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/server/books/models/module.py b/server/books/models/module.py index 69376add..f11849b5 100644 --- a/server/books/models/module.py +++ b/server/books/models/module.py @@ -52,22 +52,23 @@ class ModuleCategory(models.Model): def __str__(self): return f"{self.name}" - -class ModulePageForm(WagtailAdminPageForm): - def clean(self): - cleaned_data = super().clean() - print("cleaning") - if "slug" in self.cleaned_data: - page_slug = cleaned_data["slug"] - if not Module._slug_is_available(page_slug, self.parent_page, self.instance): - self.add_error( - "slug", - forms.ValidationError( - _("The slug '%(page_slug)s' is already in use") - % {"page_slug": page_slug} - ), - ) - return cleaned_data +# Commented out since that check is not necessary if a slug is chosen that is already in use +# a new one will be generated +# TODO: remove after pullrequest is merged +# class ModulePageForm(WagtailAdminPageForm): +# def clean(self): +# cleaned_data = super().clean() +# if "slug" in self.cleaned_data and "id" in self.cleaned_data: +# page_slug = cleaned_data["slug"] +# if not Module._slug_is_available(page_slug, self.parent_page, self.instance): +# self.add_error( +# "slug", +# forms.ValidationError( +# _("The slug '%(page_slug)s' is already in use") +# % {"page_slug": page_slug} +# ), +# ) +# return cleaned_data class Module(StrictHierarchyPage): @@ -109,7 +110,8 @@ class Module(StrictHierarchyPage): FieldPanel("teaser"), FieldPanel("intro"), ] - # base_form_class = ModulePageForm + # TODO remove after pullrequest is merged + #base_form_class = ModulePageForm edit_handler = TabbedInterface( [ObjectList(content_panels, heading="Content"), get_default_settings()] @@ -218,10 +220,12 @@ class Module(StrictHierarchyPage): def full_clean(self, *args, **kwargs): super().full_clean(*args, **kwargs) + # Always create a slug if it is not available if not self._slug_is_available(self.slug, self.get_parent(), self): self.slug = self._get_autogenerated_slug(self.slug) + class RecentModule(models.Model): module = models.ForeignKey( Module, on_delete=models.CASCADE, related_name="recent_modules"