From 98c22552dcdf27b67fd49d43c2a81369e777ba3c Mon Sep 17 00:00:00 2001 From: Adam Murray Date: Thu, 14 Oct 2021 16:14:38 +0100 Subject: [PATCH 1/2] Wired up form --- djangocms_snippet/admin.py | 3 ++- djangocms_snippet/forms.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/djangocms_snippet/admin.py b/djangocms_snippet/admin.py index 48e02314..2e4cdb1e 100644 --- a/djangocms_snippet/admin.py +++ b/djangocms_snippet/admin.py @@ -5,6 +5,7 @@ from django.forms import Textarea from .cms_config import SnippetCMSAppConfig +from .forms import SnippetForm from .models import Snippet from .views import SnippetPreviewView @@ -33,7 +34,7 @@ class SnippetAdmin(*snippet_admin_classes): 'data-mode': getattr(settings, 'DJANGOCMS_SNIPPET_THEME', 'html'), 'data-theme': getattr(settings, 'DJANGOCMS_SNIPPET_MODE', 'github'), } - + form = SnippetForm formfield_overrides = { models.TextField: {'widget': Textarea(attrs=text_area_attrs)} } diff --git a/djangocms_snippet/forms.py b/djangocms_snippet/forms.py index 8798c362..1afac618 100644 --- a/djangocms_snippet/forms.py +++ b/djangocms_snippet/forms.py @@ -28,6 +28,7 @@ class Meta: def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["snippet_grouper"].required = False + self.fields["snippet_grouper"].widget = forms.HiddenInput() def clean(self): data = super().clean() From 954a2abec1d26eeecea2f8d792e20bafd254e494 Mon Sep 17 00:00:00 2001 From: Adam Murray Date: Thu, 14 Oct 2021 17:47:10 +0100 Subject: [PATCH 2/2] Added test case to check form is being used by admin --- tests/test_admin.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/test_admin.py b/tests/test_admin.py index 0aced601..2e007de9 100644 --- a/tests/test_admin.py +++ b/tests/test_admin.py @@ -7,6 +7,7 @@ from djangocms_snippet import admin as snippet_admin from djangocms_snippet import cms_config +from djangocms_snippet.forms import SnippetForm from djangocms_snippet.models import Snippet from .utils.factories import SnippetWithVersionFactory @@ -51,3 +52,10 @@ def test_admin_list_display_with_versioning(self): ) self.assertEqual(list_display[-1].short_description, 'actions') self.assertIn("function ExtendedVersionAdminMixin._list_actions", list_display[-1].__str__()) + + def test_admin_uses_form(self): + """ + The SnippetForm provides functionality to make SnippetGroupers irrelevant to the user, + ensure the admin uses this. + """ + self.assertEqual(self.snippet_admin.form, SnippetForm)