[Checkins]
SVN: z3c.reference/trunk/src/z3c/reference/browser/widget.p
Extended widget to allow removal of a reference
Juergen Kartnaller
juergen at kartnaller.at
Thu Dec 13 01:06:10 EST 2007
Log message for revision 82273:
Extended widget to allow removal of a reference
Changed:
U z3c.reference/trunk/src/z3c/reference/browser/widget.pt
U z3c.reference/trunk/src/z3c/reference/browser/widget.py
-=-
Modified: z3c.reference/trunk/src/z3c/reference/browser/widget.pt
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/widget.pt 2007-12-13 02:37:39 UTC (rev 82272)
+++ z3c.reference/trunk/src/z3c/reference/browser/widget.pt 2007-12-13 06:06:09 UTC (rev 82273)
@@ -10,3 +10,12 @@
tal:replace="structure options/refIdInput" />
<input type="hidden"
tal:replace="structure options/settingNameInput" />
+<tal:block tal:condition="options/removeButton">
+<input type="checkbox"
+ tal:replace="structure options/removeButton" />
+<label for="removeButtonName"
+ tal:attributes="for options/removeButtonName">
+ <span class="label-text">Remove</span>
+</label>
+</tal:block>
+
Modified: z3c.reference/trunk/src/z3c/reference/browser/widget.py
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/widget.py 2007-12-13 02:37:39 UTC (rev 82272)
+++ z3c.reference/trunk/src/z3c/reference/browser/widget.py 2007-12-13 06:06:09 UTC (rev 82273)
@@ -182,13 +182,17 @@
style=self.style,
extra = 'rel="height:550,width:800,status:0,scrollbars:1,resizable:1"',
)
- removeButton = renderElement(u'input',
- type='submit',
- name=removeName,
- id=removeName,
- value=u'Remove',
- )
+ if not self.context.required:
+ removeButton = renderElement(u'input',
+ type='checkbox',
+ name=removeName,
+ id=removeName,
+ value=u'',
+ )
+ else:
+ removeButton = None
return self.template(removeButton=removeButton,
+ removeButtonName=removeName,
funcInput=funcInput,
linkTag=linkTag,
intidInput=intidInput,
@@ -218,6 +222,8 @@
def _toFieldValue(self, input):
if input is None:
return None
+ if self.name + '.remove' in self.request.form:
+ return None
if input == self._missing:
return self.context.missing_value
intIds = zope.component.getUtility(IIntIds)
More information about the Checkins
mailing list