Skip to content

Commit 90b1171

Browse files
authored
fix: Snippet plugin showing ID instead of name(#100)
1 parent fdc9f49 commit 90b1171

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Changelog
55
Unreleased
66
==========
77

8+
* fix: Snippet plugin added to a page now displays name instead of ID
89
* fix: Slug field on list display for admin should only be displayed when versioning is not available
910

1011
4.0.0.dev2 (2021-12-22)

djangocms_snippet/models.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ class SnippetPtr(CMSPlugin):
106106

107107
search_fields = ['snippet__html'] if SEARCH_ENABLED else []
108108

109+
def get_short_description(self):
110+
snippet_label = SnippetGrouper.objects.filter(pk=self.snippet_grouper.pk).first()
111+
return snippet_label
112+
109113
class Meta:
110114
verbose_name = _('Snippet Ptr')
111115
verbose_name_plural = _('Snippet Ptrs')

tests/test_plugins.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from cms.api import add_plugin, create_page
44
from cms.models import PageContent
55
from cms.test_utils.testcases import CMSTestCase
6-
from cms.toolbar.utils import get_object_edit_url
6+
from cms.toolbar.utils import get_object_edit_url, get_object_structure_url
77

88
from djangocms_snippet.models import Snippet, SnippetGrouper
99
from djangocms_versioning.models import Version
@@ -290,3 +290,21 @@ def test_published_snippet_and_page_live_url_rendering(self):
290290

291291
self.assertContains(response, "<p>Published snippet</p>")
292292
self.assertNotIn("Draft snippet", str(response.content))
293+
294+
def test_correct_name_is_displayed_for_snippet_component_on_page(self):
295+
"""
296+
If a component is added to the page, it should show the snippet name and not ID
297+
"""
298+
add_plugin(
299+
self.draft_pagecontent.placeholders.get(slot="content"),
300+
"SnippetPlugin",
301+
self.language,
302+
snippet_grouper=self.draft_snippet.snippet_grouper,
303+
)
304+
305+
# Request structure endpoint on page
306+
request_url = get_object_structure_url(self.draft_pagecontent, "en")
307+
with self.login_user_context(self.superuser):
308+
response = self.client.get(request_url)
309+
310+
self.assertContains(response, "<strong>Snippet</strong> plugin_snippet</span>")

0 commit comments

Comments
 (0)