[Checkins]
SVN: z3c.reference/trunk/ Correct handling of the widget,
it is now working correct with 'required'
Juergen Kartnaller
juergen at kartnaller.at
Mon Dec 10 08:11:19 EST 2007
Log message for revision 82224:
Correct handling of the widget, it is now working correct with 'required'
fields.
Changed:
U z3c.reference/trunk/CHANGES.txt
U z3c.reference/trunk/src/z3c/reference/browser/widget.py
-=-
Modified: z3c.reference/trunk/CHANGES.txt
===================================================================
--- z3c.reference/trunk/CHANGES.txt 2007-12-10 12:59:59 UTC (rev 82223)
+++ z3c.reference/trunk/CHANGES.txt 2007-12-10 13:11:19 UTC (rev 82224)
@@ -5,6 +5,9 @@
After
=====
+- correct handling of the widget, it is now working correct with 'required'
+ fields.
+
- removed dependency on elementtree
- changed serializer to accept namespaces
Modified: z3c.reference/trunk/src/z3c/reference/browser/widget.py
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/widget.py 2007-12-10 12:59:59 UTC (rev 82223)
+++ z3c.reference/trunk/src/z3c/reference/browser/widget.py 2007-12-10 13:11:19 UTC (rev 82224)
@@ -62,6 +62,7 @@
_emptyReference = None
referenceExplorerViewName = 'viewReferenceEditor.html'
functionName = 'setDefaultReferenceInput'
+ _missing = None
def __init__(self, *args):
resourcelibrary.need('z3c.reference.parent')
@@ -196,10 +197,6 @@
settingNameInput=settingNameInput,
)
- def _getFormValue(self):
- res = super(ViewReferenceWidget,self)._getFormValue()
- return res
-
def _toFormValue(self, value):
if value == self.context.missing_value:
return self._missing
@@ -210,9 +207,17 @@
return url
def hasInput(self):
- return not not self.request.form.get(self.name + '.target')
+ return self.name + '.target' in self.request.form
+ def _getFormInput(self):
+ value = self.request.form.get(self.name + '.target')
+ if not value:
+ return None
+ return value
+
def _toFieldValue(self, input):
+ if input is None:
+ return None
if input == self._missing:
return self.context.missing_value
intIds = zope.component.getUtility(IIntIds)
@@ -230,8 +235,10 @@
intid = self.request.get(targetName)
if intid is None:
return self.context.missing_value
-
- obj = intIds.queryObject(int(intid))
+ try:
+ obj = intIds.queryObject(int(intid))
+ except ValueError:
+ return self.context.missing_value
if obj is None:
return self.context.missing_value
if ref is None:
More information about the Checkins
mailing list