From: David G. <svn...@pl...> - 2011-03-30 23:26:19
|
Author: davisagli Date: Wed Mar 30 23:25:08 2011 New Revision: 48292 Modified: plone.app.controlpanel/trunk/CHANGES.txt plone.app.controlpanel/trunk/plone/app/controlpanel/markup.py plone.app.controlpanel/trunk/setup.py Log: make wicked dependency optional Modified: plone.app.controlpanel/trunk/CHANGES.txt ============================================================================== --- plone.app.controlpanel/trunk/CHANGES.txt (original) +++ plone.app.controlpanel/trunk/CHANGES.txt Wed Mar 30 23:25:08 2011 @@ -4,6 +4,9 @@ 2.1b2 - Unreleased ------------------ +- Make the dependency of the markup control panel on wicked optional. + [davisagli] + - Remove hidden form.submitted field in the form wrapping the "Add New User" button on the groups overview page. The presence of that field forces a CSRF check in the add groups form, which fails. Fixes #11553. Modified: plone.app.controlpanel/trunk/plone/app/controlpanel/markup.py ============================================================================== --- plone.app.controlpanel/trunk/plone/app/controlpanel/markup.py (original) +++ plone.app.controlpanel/trunk/plone/app/controlpanel/markup.py Wed Mar 30 23:25:08 2011 @@ -30,8 +30,14 @@ from persistent import Persistent from zope.annotation.interfaces import IAnnotations -from wicked.plone.registration import basic_type_regs as wicked_basic_type_regs -from wicked.txtfilter import BrackettedWickedFilter +try: + from wicked.plone.registration import basic_type_regs as wicked_basic_type_regs + from wicked.txtfilter import BrackettedWickedFilter +except ImportError: + HAS_WICKED = False + wicked_basic_type_regs = () +else: + HAS_WICKED = True WICKED_SETTING_KEY="plone.app.controlpanel.wicked" @@ -109,9 +115,12 @@ # Combined schemata and fieldsets # -class IMarkupSchema(ITextMarkupSchema, IWikiMarkupSchema): - """Combined schema for the adapter lookup. - """ +if HAS_WICKED: + class IMarkupSchema(ITextMarkupSchema, IWikiMarkupSchema): + """Combined schema for the adapter lookup. + """ +else: + IMarkupSchema = ITextMarkupSchema class MarkupControlPanelAdapter(SchemaAdapterBase): @@ -147,62 +156,67 @@ # Wiki settings - def get_enable_mediawiki(self): - return self.wicked_settings.enable_mediawiki - - def set_enable_mediawiki(self, value): - settings = self.wicked_settings - if settings.enable_mediawiki != value: - self.toggle_mediawiki = True - settings.enable_mediawiki = value - - enable_mediawiki = property(get_enable_mediawiki, set_enable_mediawiki) - - def get_wiki_enabled_types(self): - return self.wicked_settings.types_enabled - - def set_wiki_enabled_types(self, value): - settings = self.wicked_settings - if not self.toggle_mediawiki and value == settings.types_enabled: - return - - self.unregister_wicked_types() # @@ use sets to avoid thrashing - for name in value: - reg = wicked_type_regs[name](self.context) - if self.enable_mediawiki: - reg.txtfilter = BrackettedWickedFilter - reg.handle() - - self.toggle_mediawiki = False - settings.types_enabled = value - - wiki_enabled_types = property(get_wiki_enabled_types, - set_wiki_enabled_types) - - @property - def wicked_settings(self): - ann = IAnnotations(self.context) - return ann.setdefault(WICKED_SETTING_KEY, WickedSettings()) - - def unregister_wicked_types(self): - """Unregisters all previous registration objects - """ - for name in wicked_type_regs.keys(): - wicked_type_regs[name](self.context).handle(unregister=True) + if HAS_WICKED: + def get_enable_mediawiki(self): + return self.wicked_settings.enable_mediawiki + + def set_enable_mediawiki(self, value): + settings = self.wicked_settings + if settings.enable_mediawiki != value: + self.toggle_mediawiki = True + settings.enable_mediawiki = value + + enable_mediawiki = property(get_enable_mediawiki, set_enable_mediawiki) + + def get_wiki_enabled_types(self): + return self.wicked_settings.types_enabled + + def set_wiki_enabled_types(self, value): + settings = self.wicked_settings + if not self.toggle_mediawiki and value == settings.types_enabled: + return + + self.unregister_wicked_types() # @@ use sets to avoid thrashing + for name in value: + reg = wicked_type_regs[name](self.context) + if self.enable_mediawiki: + reg.txtfilter = BrackettedWickedFilter + reg.handle() + + self.toggle_mediawiki = False + settings.types_enabled = value + + wiki_enabled_types = property(get_wiki_enabled_types, + set_wiki_enabled_types) + + @property + def wicked_settings(self): + ann = IAnnotations(self.context) + return ann.setdefault(WICKED_SETTING_KEY, WickedSettings()) + + def unregister_wicked_types(self): + """Unregisters all previous registration objects + """ + for name in wicked_type_regs.keys(): + wicked_type_regs[name](self.context).handle(unregister=True) textset = FormFieldsets(ITextMarkupSchema) textset.id = 'textmarkup' textset.label = _(u'Text markup') -wikiset = FormFieldsets(IWikiMarkupSchema) -wikiset.id = 'wiki' -wikiset.label = _(u'Wiki behavior') +if HAS_WICKED: + wikiset = FormFieldsets(IWikiMarkupSchema) + wikiset.id = 'wiki' + wikiset.label = _(u'Wiki behavior') class MarkupControlPanel(ControlPanelForm): - form_fields = FormFieldsets(textset, wikiset) + if HAS_WICKED: + form_fields = FormFieldsets(textset, wikiset) + form_fields['wiki_enabled_types'].custom_widget = MultiCheckBoxVocabularyWidget + else: + form_fields = FormFieldsets(textset) form_fields['allowed_types'].custom_widget = AllowedTypesWidget - form_fields['wiki_enabled_types'].custom_widget = MultiCheckBoxVocabularyWidget label = _("Markup settings") description = _("Lets you control what markup is available when editing " Modified: plone.app.controlpanel/trunk/setup.py ============================================================================== --- plone.app.controlpanel/trunk/setup.py (original) +++ plone.app.controlpanel/trunk/setup.py Wed Mar 30 23:25:08 2011 @@ -33,7 +33,6 @@ 'plone.memoize', 'plone.protect', 'plone.locking', - 'wicked', 'zope.annotation', 'zope.app.form', 'zope.cachedescriptors', |