kopia lustrzana https://github.com/wagtail/wagtail
Set show_comments_toggle based on required fields (#7092)
* Set show_comments_toggle based on required fields * Update test to use correct TabbedInterface argumentspull/7100/head
rodzic
c97bc56c68
commit
82897ee573
|
@ -363,10 +363,13 @@ class BaseFormEditHandler(BaseCompositeEditHandler):
|
|||
class TabbedInterface(BaseFormEditHandler):
|
||||
template = "wagtailadmin/edit_handlers/tabbed_interface.html"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
def __init__(self, *args, show_comments_toggle=None, **kwargs):
|
||||
self.base_form_class = kwargs.pop('base_form_class', None)
|
||||
self.show_comments_toggle = kwargs.pop('show_comments_toggle', False)
|
||||
super().__init__(*args, **kwargs)
|
||||
if show_comments_toggle is not None:
|
||||
self.show_comments_toggle = show_comments_toggle
|
||||
else:
|
||||
self.show_comments_toggle = 'comment_notifications' in self.required_fields()
|
||||
|
||||
def clone_kwargs(self):
|
||||
kwargs = super().clone_kwargs()
|
||||
|
@ -936,7 +939,7 @@ def get_edit_handler(cls):
|
|||
heading=gettext_lazy('Settings'),
|
||||
classname='settings'))
|
||||
|
||||
edit_handler = TabbedInterface(tabs, base_form_class=cls.base_form_class, show_comments_toggle=True)
|
||||
edit_handler = TabbedInterface(tabs, base_form_class=cls.base_form_class)
|
||||
|
||||
return edit_handler.bind_to(model=cls)
|
||||
|
||||
|
|
|
@ -1031,9 +1031,9 @@ There are no tabs on non-Page model editing within InlinePanels.""",
|
|||
"""Checks should NOT warn if InlinePanel models use tabbed panels AND edit_handler"""
|
||||
|
||||
EventPageSpeaker.content_panels = [FieldPanel('first_name')]
|
||||
EventPageSpeaker.edit_handler = TabbedInterface(
|
||||
EventPageSpeaker.edit_handler = TabbedInterface([
|
||||
ObjectList([FieldPanel('last_name')], heading='test')
|
||||
)
|
||||
])
|
||||
|
||||
# should not be any errors
|
||||
self.assertEqual(self.get_checks_result(), [])
|
||||
|
@ -1054,12 +1054,20 @@ class TestCommentPanel(TestCase, WagtailTestUtils):
|
|||
self.object_list = ObjectList([
|
||||
CommentPanel()
|
||||
]).bind_to(model=EventPage, request=self.request)
|
||||
self.tabbed_interface = TabbedInterface([self.object_list])
|
||||
self.EventPageForm = self.object_list.get_form_class()
|
||||
self.event_page = EventPage.objects.get(slug='christmas')
|
||||
self.comment = Comment.objects.create(page=self.event_page, text='test', user=self.other_user, contentpath='test_contentpath')
|
||||
self.reply_1 = CommentReply.objects.create(comment=self.comment, text='reply_1', user=self.other_user)
|
||||
self.reply_2 = CommentReply.objects.create(comment=self.comment, text='reply_2', user=self.commenting_user)
|
||||
|
||||
def test_comments_toggle_enabled(self):
|
||||
"""
|
||||
Test that the comments toggle is enabled for a TabbedInterface containing CommentPanel, and disabled otherwise
|
||||
"""
|
||||
self.assertTrue(self.tabbed_interface.show_comments_toggle)
|
||||
self.assertFalse(TabbedInterface([ObjectList(self.event_page.content_panels)]).show_comments_toggle)
|
||||
|
||||
def test_context(self):
|
||||
"""
|
||||
Test that the context contains the data about existing comments necessary to initialize the commenting app
|
||||
|
|
Ładowanie…
Reference in New Issue