[Checkins] SVN: z3c.form/trunk/ orderedselect working

Axel Müller axel.mueller at amit-services.de
Fri Dec 14 18:15:08 EST 2007


Log message for revision 82289:
  orderedselect working 
  

Changed:
  U   z3c.form/trunk/CHANGES.txt
  U   z3c.form/trunk/src/z3c/form/browser/README.txt
  U   z3c.form/trunk/src/z3c/form/browser/orderedselect.py
  U   z3c.form/trunk/src/z3c/form/browser/orderedselect.txt
  U   z3c.form/trunk/src/z3c/form/browser/orderedselect_input.pt

-=-
Modified: z3c.form/trunk/CHANGES.txt
===================================================================
--- z3c.form/trunk/CHANGES.txt	2007-12-14 16:09:09 UTC (rev 82288)
+++ z3c.form/trunk/CHANGES.txt	2007-12-14 23:15:07 UTC (rev 82289)
@@ -15,6 +15,7 @@
 - Bug: Interface invariants where not working when not all fields
   needed for computing the invariant are in the submitted form.
 
+- Bug: orderedselect didn't submit selected values 
 
 Version 1.7.0 (2007-10-09)
 --------------------------

Modified: z3c.form/trunk/src/z3c/form/browser/README.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/README.txt	2007-12-14 16:09:09 UTC (rev 82288)
+++ z3c.form/trunk/src/z3c/form/browser/README.txt	2007-12-14 23:15:07 UTC (rev 82289)
@@ -471,10 +471,9 @@
     <tr>
       <td>
         <select id="foo-from" name="bar.from" size="5"
-                multiple="multiple" class="required list-field">
-          <option value="1">1</option>
+                multiple="multiple" 
+                class="required list-field">
           <option value="2">2</option>
-          <option value="3">3</option>
           <option value="4">4</option>
         </select>
       </td>
@@ -670,10 +669,9 @@
     <tr>
       <td>
         <select id="foo-from" name="bar.from" size="5"
-                multiple="multiple" class="required tuple-field">
-          <option value="1">1</option>
+                multiple="multiple" 
+                class="required tuple-field">
           <option value="2">2</option>
-          <option value="3">3</option>
           <option value="4">4</option>
         </select>
       </td>

Modified: z3c.form/trunk/src/z3c/form/browser/orderedselect.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/orderedselect.py	2007-12-14 16:09:09 UTC (rev 82288)
+++ z3c.form/trunk/src/z3c/form/browser/orderedselect.py	2007-12-14 23:15:07 UTC (rev 82289)
@@ -35,6 +35,7 @@
     multiple = u'multiple'
     items = ()
     selectedItems = ()
+    notselectedItems = ()
 
     def getItem(self, term, count=0):
         id = '%s-%i' % (self.id, count)
@@ -54,7 +55,18 @@
         self.selectedItems = [
             self.getItem(self.terms.getTermByToken(token), count)
             for count, token in enumerate(self.value)]
+        self.notselectedItems = self.deselect()
 
+    def deselect(self):
+        selecteditems = []
+        notselecteditems = []
+        for selecteditem in self.selectedItems:
+            selecteditems.append(selecteditem['content']) 
+        for item in self.items:
+            if not item['content'] in selecteditems:
+                notselecteditems.append(item)
+        return notselecteditems
+                
 
 @zope.component.adapter(zope.schema.interfaces.ISequence, interfaces.IFormLayer)
 @zope.interface.implementer(interfaces.IFieldWidget)

Modified: z3c.form/trunk/src/z3c/form/browser/orderedselect.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/orderedselect.txt	2007-12-14 16:09:09 UTC (rev 82288)
+++ z3c.form/trunk/src/z3c/form/browser/orderedselect.txt	2007-12-14 23:15:07 UTC (rev 82289)
@@ -137,7 +137,6 @@
         <select id="widget-id-from" name="widget.name.from"
                 size="5" multiple="multiple">
           <option value="a">A</option>
-          <option value="b">B</option>
           <option value="c">C</option>
         </select>
       </td>

Modified: z3c.form/trunk/src/z3c/form/browser/orderedselect_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/orderedselect_input.pt	2007-12-14 16:09:09 UTC (rev 82288)
+++ z3c.form/trunk/src/z3c/form/browser/orderedselect_input.pt	2007-12-14 23:15:07 UTC (rev 82289)
@@ -1,5 +1,4 @@
 <script type="text/javascript">
-
 function moveItems(from, to)
   {
   // shortcuts for selection fields
@@ -115,7 +114,7 @@
     // create virtual node with suitable attributes
     var newNode = document.createElement("input");
     var newAttr = document.createAttribute("name");
-    newAttr.nodeValue = name;
+    newAttr.nodeValue = name.replace(/-/g, '.')+':list';
     newNode.setAttributeNode(newAttr);
 
     newAttr = document.createAttribute("type");
@@ -164,7 +163,7 @@
                           onchange view/onchange;
                           multiple view/multiple;
                           size view/size">
-        <option tal:repeat="entry view/items"
+        <option tal:repeat="entry view/notselectedItems"
                 tal:attributes="value entry/value"
                 tal:content="entry/content" i18n:translate=""/>
       </select>



More information about the Checkins mailing list