[Checkins] SVN: zope3org/trunk/src/zorg/multiform/ update
Bernd Dorn
bernd.dorn at fhv.at
Mon Apr 10 09:14:49 EDT 2006
Log message for revision 66778:
update
Changed:
U zope3org/trunk/src/zorg/multiform/gridform.py
U zope3org/trunk/src/zorg/multiform/gridform.txt
U zope3org/trunk/src/zorg/multiform/multiform.py
-=-
Modified: zope3org/trunk/src/zorg/multiform/gridform.py
===================================================================
--- zope3org/trunk/src/zorg/multiform/gridform.py 2006-04-10 12:24:30 UTC (rev 66777)
+++ zope3org/trunk/src/zorg/multiform/gridform.py 2006-04-10 13:14:48 UTC (rev 66778)
@@ -30,7 +30,7 @@
self.request.form[self.key]=v
def _getSelected(self):
- self.request.form.get(key,False)
+ self.request.form.get(self.key,False)
selected = property(_getSelected,_setSelected)
Modified: zope3org/trunk/src/zorg/multiform/gridform.txt
===================================================================
--- zope3org/trunk/src/zorg/multiform/gridform.txt 2006-04-10 12:24:30 UTC (rev 66777)
+++ zope3org/trunk/src/zorg/multiform/gridform.txt 2006-04-10 13:14:48 UTC (rev 66778)
@@ -45,7 +45,7 @@
... def __init__(self,context,request,parentForm):
... super(OrderForm,self).__init__(context,request,parentForm)
... self.form_fields = form.Fields(ISelection,IOrder,
- ... omit_readonly=False)
+ ... omit_readonly=False,render_context=True)
...
... def template(self):
... return '\n<div>%s</div>\n' % '</div>\n<div>'.join([w() for w in
@@ -61,10 +61,10 @@
... @multiform.parentAction('Edit',
... condition=multiform.isParentFormDisplayMode)
... def handle_edit_action(self, action, data):
- ... self.newInputMode=True
+ ... self.inputMode=True
+ ... self.parentForm.newInputMode=True
-
>>> class OrdersForm(gridform.GridFormBase):
... itemFormFactory=OrderForm
... def template(self):
@@ -78,9 +78,43 @@
... def handle_cancel_action(self, action, data):
... self.newInputMode=False
+Due to the reason that the ``inputMode`` attribute is ``False`` we now
+get DisplayWidgets for all fields, except the ``selected`` field
+which's name is defined in the ``forceInput`` attribute of the class,
+because we always want checkboxes to select some items.
+
>>> request = TestRequest()
>>> gf = OrdersForm(orderMapping,request)
>>> print gf()
- <div>...
+ <div>
+ <div><input ... name="form.0.selected" type="checkbox" ... /></div>
+ <div>0</div>
+ <div>n0</div>
</div>
-
+ <div>
+ <div><input ... name="form.1.selected" type="checkbox" ... /></div>
+ <div>1</div>
+ <div>n1</div>
+ </div>
+
+Now we are going to select some items. And the checkbox of the ``selected``
+
+ >>> request = TestRequest()
+ >>> request.form['form.1.selected']=u'on'
+ >>> gf = OrdersForm(orderMapping,request)
+ >>> print gf()
+ <div>
+ ...
+ <div><input ... checked="checked" ... name="form.1.selected" ...</div>
+ <div>1</div>
+ <div>n1</div>
+ </div>
+
+By using the Edit action we can now switch all selected item forms to
+input mode.
+
+ >>> request.form['form.actions.edit']=u''
+ >>> request.form['form.0.selected.used']=u''
+ >>> gf = OrdersForm(orderMapping,request)
+ >>> print gf()
+
Modified: zope3org/trunk/src/zorg/multiform/multiform.py
===================================================================
--- zope3org/trunk/src/zorg/multiform/multiform.py 2006-04-10 12:24:30 UTC (rev 66777)
+++ zope3org/trunk/src/zorg/multiform/multiform.py 2006-04-10 13:14:48 UTC (rev 66778)
@@ -118,11 +118,11 @@
self.setUpForms(*args, **kw)
def setUpForms(self, *args, **kw):
-
for name,item in self.context.items():
prefix = (self.prefix and self.prefix+'.' or '') + name
subForm = self.itemFormFactory(item,self.request,self)
- if self.inputMode is not None and not self.inputMode:
+ if self.inputMode is not None and not self.inputMode \
+ and subForm.inputMode is not None and not subForm.inputMode:
forceInput = self.itemFormFactory.forceInput
for field in subForm.form_fields:
if field.__name__ not in forceInput:
More information about the Checkins
mailing list