[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