# -*- coding: utf-8 -*- from zope.i18nmessageid import MessageFactory from plone.app.dexterity.behaviors.metadata import ICategorization from plone.autoform.interfaces import WIDGETS_KEY from plone.directives.form.schema import TEMP_KEY from zope import schema as _schema _ = MessageFactory('collective.z3cform.widgets') widget = 'collective.z3cform.widgets.token_input_widget.TokenInputFieldWidget' _directives_values = ICategorization.queryTaggedValue(TEMP_KEY) if _directives_values: # groked form _directives_values.setdefault(WIDGETS_KEY, {}) _directives_values[WIDGETS_KEY]['subjects'] = widget else: # plone 4.3 not groked form _widget_values = ICategorization.queryTaggedValue(WIDGETS_KEY, {}) _widget_values['subjects'] = widget ICategorization.setTaggedValue(WIDGETS_KEY, _widget_values) _schema.getFields(ICategorization)['subjects'].index_name = 'Subject'
from zope.interface import Interface from zope.interface import Invalid from zope.interface import directlyProvides from zope.interface import provider from zope.schema.interfaces import IContextAwareDefaultFactory from zope.schema.interfaces import IContextSourceBinder from zope.schema.vocabulary import SimpleVocabulary from gwopa.core import _ from gwopa.core import utils from gwopa.core.widgets.fieldset_widget import FieldsetFieldWidget import datetime import unicodedata ICategorization.setTaggedValue(OMITTED_KEY, [(Interface, 'language', 'true')]) grok.templatedir("templates") class InvalidCoordinateError(schema.ValidationError): __doc__ = _(u'Please enter a valid coordinate format (-75.2509766).') def isCoordinate(value): try: Point((float(value), float(0))) return True except: raise InvalidCoordinateError