[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