defer loading concerned persons to widget (#4450)

This commit is contained in:
Frédéric Péters 2014-03-12 16:19:04 +01:00
parent 25442128aa
commit 33f5b7a4ff
2 changed files with 11 additions and 2 deletions

View File

@ -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):

View File

@ -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