from Products.Five.browser import BrowserView from zope.component import queryUtility from plone.registry.interfaces import IRegistry from plone.app.registry.browser import controlpanel from plone.app.discussion.interfaces import IDiscussionSettings, _ from z3c.form.browser.checkbox import SingleCheckBoxFieldWidget class DiscussionSettingsEditForm(controlpanel.RegistryEditForm): schema = IDiscussionSettings label = _(u"Discussion settings") description = _(u"""Some discussion related settings are not located in the Discussion Control Panel. To enable comments for a specific content type, go to the Types Control Panel of this type and choose 'enable moderation'. To enable the moderation workflow for comments, go to the Types Control Panel, choose "Comment" and set workflow to "Comment Review Workflow". """) def updateFields(self): super(DiscussionSettingsEditForm, self).updateFields() self.fields['globally_enabled'].widgetFactory = SingleCheckBoxFieldWidget self.fields['anonymous_comments'].widgetFactory = SingleCheckBoxFieldWidget self.fields['show_commenter_image'].widgetFactory = SingleCheckBoxFieldWidget def updateWidgets(self): super(DiscussionSettingsEditForm, self).updateWidgets() self.widgets['globally_enabled'].label = u"Enable Comments" self.widgets['anonymous_comments'].label = u"Anonymous Comments" self.widgets['show_commenter_image'].label = u"Commenter Image" class DiscussionSettingsControlPanel(controlpanel.ControlPanelFormWrapper): form = DiscussionSettingsEditForm