diff --git a/src/pfwbged/basecontent/types.py b/src/pfwbged/basecontent/types.py index e1c5e36..c2e1431 100644 --- a/src/pfwbged/basecontent/types.py +++ b/src/pfwbged/basecontent/types.py @@ -9,7 +9,7 @@ from collective.dms.mailcontent.dmsmail import IDmsIncomingMail, DmsIncomingMail from pfwbged.basecontent import _ -from .widget import AjaxChosenFieldWidget +from .widget import AjaxChosenFieldWidget, ReallyAjaxChosenFieldWidget class IPfwbBaseDocument(IDmsDocument): @@ -30,7 +30,7 @@ class IMedicalCertificate(IDmsIncomingMail): title=_(u'Concerned Person'), required=True, vocabulary='plone.principalsource.Users') - form.widget(concerned_person=AjaxChosenFieldWidget) + form.widget(concerned_person=ReallyAjaxChosenFieldWidget) class MedicalCertificate(DmsIncomingMail): diff --git a/src/pfwbged/basecontent/widget.py b/src/pfwbged/basecontent/widget.py index d3ccc0a..889f0e7 100644 --- a/src/pfwbged/basecontent/widget.py +++ b/src/pfwbged/basecontent/widget.py @@ -9,4 +9,13 @@ def AjaxChosenFieldWidget(field, request): widget = z3c.form.widget.FieldWidget(field, AjaxChosenSelectionWidget(request)) widget.populate_select = True + widget.ignoreMissing = True + return widget + +@implementer(z3c.form.interfaces.IFieldWidget) +def ReallyAjaxChosenFieldWidget(field, request): + widget = z3c.form.widget.FieldWidget(field, + AjaxChosenSelectionWidget(request)) + widget.populate_select = False + widget.ignore_missing = True return widget