29 lines
922 B
Python
29 lines
922 B
Python
from Acquisition import ImplicitAcquisitionWrapper
|
|
|
|
from zope.interface import implementsOnly, implementer
|
|
from zope.component import adapts, adapter
|
|
|
|
from z3c.form.interfaces import IFormLayer, IFieldWidget
|
|
from z3c.form.widget import FieldWidget
|
|
|
|
from themisfields.interfaces import ICommission
|
|
|
|
from plone.formwidget.autocomplete.interfaces import IAutocompleteWidget
|
|
from plone.formwidget.autocomplete.widget import AutocompleteSelectionWidget
|
|
from plone.formwidget.autocomplete import AutocompleteFieldWidget
|
|
|
|
class ICommissionWidget(IAutocompleteWidget):
|
|
pass
|
|
|
|
class CommissionWidget(AutocompleteSelectionWidget):
|
|
implementsOnly(ICommissionWidget)
|
|
klass = u'commissionWidget'
|
|
|
|
|
|
@adapter(ICommission, IFormLayer)
|
|
@implementer(IFieldWidget)
|
|
def CommissionFieldWidget(field, request):
|
|
"""IFieldWidget factory for CommissionWidget."""
|
|
return FieldWidget(field, AutocompleteSelectionWidget(request))
|
|
|