Skip to content

Commit d2b1b63

Browse files
authored
fix: Fixed bug that causes ChangeView not to use SnippetForm (#80)
1 parent e215e01 commit d2b1b63

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

djangocms_snippet/admin.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from django.forms import Textarea
66

77
from .cms_config import SnippetCMSAppConfig
8+
from .forms import SnippetForm
89
from .models import Snippet
910
from .views import SnippetPreviewView
1011

@@ -33,7 +34,7 @@ class SnippetAdmin(*snippet_admin_classes):
3334
'data-mode': getattr(settings, 'DJANGOCMS_SNIPPET_THEME', 'html'),
3435
'data-theme': getattr(settings, 'DJANGOCMS_SNIPPET_MODE', 'github'),
3536
}
36-
37+
form = SnippetForm
3738
formfield_overrides = {
3839
models.TextField: {'widget': Textarea(attrs=text_area_attrs)}
3940
}

djangocms_snippet/forms.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class Meta:
2828
def __init__(self, *args, **kwargs):
2929
super().__init__(*args, **kwargs)
3030
self.fields["snippet_grouper"].required = False
31+
self.fields["snippet_grouper"].widget = forms.HiddenInput()
3132

3233
def clean(self):
3334
data = super().clean()

tests/test_admin.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from djangocms_snippet import admin as snippet_admin
99
from djangocms_snippet import cms_config
10+
from djangocms_snippet.forms import SnippetForm
1011
from djangocms_snippet.models import Snippet
1112

1213
from .utils.factories import SnippetWithVersionFactory
@@ -51,3 +52,10 @@ def test_admin_list_display_with_versioning(self):
5152
)
5253
self.assertEqual(list_display[-1].short_description, 'actions')
5354
self.assertIn("function ExtendedVersionAdminMixin._list_actions", list_display[-1].__str__())
55+
56+
def test_admin_uses_form(self):
57+
"""
58+
The SnippetForm provides functionality to make SnippetGroupers irrelevant to the user,
59+
ensure the admin uses this.
60+
"""
61+
self.assertEqual(self.snippet_admin.form, SnippetForm)

0 commit comments

Comments
 (0)