[Checkins] SVN: zope3org/trunk/src/zorg/multiform/ bug fix: render changed selected correct

Stefan Martin s.martin at iwm-kmrc.de
Wed Apr 12 03:13:05 EDT 2006


Log message for revision 66876:
  bug fix: render changed selected correct

Changed:
  U   zope3org/trunk/src/zorg/multiform/container/grid.pt
  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/container/grid.pt
===================================================================
--- zope3org/trunk/src/zorg/multiform/container/grid.pt	2006-04-12 01:42:43 UTC (rev 66875)
+++ zope3org/trunk/src/zorg/multiform/container/grid.pt	2006-04-12 07:13:04 UTC (rev 66876)
@@ -135,8 +135,8 @@
          summary="Content listing">
    <thead>
     <tr>
-     <th tal:repeat="field view/itemFormFactory/form_fields"
-         tal:content="field/field/title" i18n:translate="">
+     <th tal:repeat="field view/itemFormFactory/form_fields">
+       <span tal:content="field/field/title" i18n:translate="" />
      </th>
     </tr>
    </thead>

Modified: zope3org/trunk/src/zorg/multiform/gridform.py
===================================================================
--- zope3org/trunk/src/zorg/multiform/gridform.py	2006-04-12 01:42:43 UTC (rev 66875)
+++ zope3org/trunk/src/zorg/multiform/gridform.py	2006-04-12 07:13:04 UTC (rev 66876)
@@ -22,7 +22,11 @@
 class GridFormBase(multiform.MultiFormBase):
 
     implements(IGridForm)
-    
+
+    default_batch_size = None
+    default_sort_on = None
+    default_sort_reverse = None
+
     template = namedtemplate.NamedTemplate('default')
 
     def __init__(self, context, request):
@@ -31,19 +35,22 @@
         
 
 class FilterMapping(object):
-    
+
     def __init__(self, context, request, form):
         self.context = context
         self.request = request
         self.form = form
         self.batch_start = request.form.get(
-                           '%s.handle.batch_start' % form.prefix, None)
+                           '%s.handle.batch_start' % form.prefix,0)
         self.batch_size = request.form.get(
-                           '%s.handle.batch_size' % form.prefix, None)
+                           '%s.handle.batch_size' % form.prefix,
+                           form.default_batch_size)
         self.sort_on = request.form.get(
-                           '%s.handle.sort_on' % form.prefix, None)
+                           '%s.handle.sort_on' % form.prefix,
+                           form.default_sort_on)
         self.sort_reverse = request.form.get(
-                           '%s.handle.sort_reverse' % form.prefix, None)
+                           '%s.handle.sort_reverse' % form.prefix,
+                           form.default_sort_reverse)
 
     def sortAllKeys(self):
         sorter = None

Modified: zope3org/trunk/src/zorg/multiform/gridform.txt
===================================================================
--- zope3org/trunk/src/zorg/multiform/gridform.txt	2006-04-12 01:42:43 UTC (rev 66875)
+++ zope3org/trunk/src/zorg/multiform/gridform.txt	2006-04-12 07:13:04 UTC (rev 66876)
@@ -196,6 +196,8 @@
     >>> gf = OrdersForm(orderMapping,request)
     >>> res = gf()
 
+Batching
+--------
 The gridform class is able to handle batch_start and batch_size. Let us reduce
 the output.
 
@@ -231,7 +233,26 @@
     >>> sorted([name for name in gf.subForms])
     ['n0', 'n1']
 
+We can have a default value for batch size. Here we just set the attribute
+default_batch_size by hand.
 
+    >>> request = TestRequest()
+    >>> gf = OrdersForm(orderMapping,request)
+    >>> gf.default_batch_size = 3
+    >>> gf.update()
+    >>> print gf.render()
+    <div>
+    <div><input ... name="form.n0.selected" ...
+    <div>1</div>
+    <div>n1</div>
+    ...
+    <div>2</div>
+    <div>n2</div>
+    ...
+    <div>3</div>
+    <div>n3</div>
+    </div>
+
 Sorting
 -------
 We can sort the grid with the informations field name (string) and
@@ -274,6 +295,17 @@
     ...   form.context.name) for form in gf.getForms()]
     [(1, 'n3'), (2, 'n2'), (3, 'n1'), (4, 'n0')]
 
+We can have default values for sort field and sort direction. Here we just set
+the attributes default_sort_on or default_sort_reverse by hand.
+
+    >>> request = TestRequest()
+    >>> gf = Orders2Form(orderMapping2,request)
+    >>> gf.default_sort_on = u'name'
+    >>> gf.update()
+    >>> [(form.context.identifier,
+    ...   form.context.name) for form in gf.getForms()]
+    [(4, 'n0'), (3, 'n1'), (2, 'n2'), (1, 'n3')]
+
 TODO:  
 -----
 - test singleedit, singlesave
\ No newline at end of file

Modified: zope3org/trunk/src/zorg/multiform/multiform.py
===================================================================
--- zope3org/trunk/src/zorg/multiform/multiform.py	2006-04-12 01:42:43 UTC (rev 66875)
+++ zope3org/trunk/src/zorg/multiform/multiform.py	2006-04-12 07:13:04 UTC (rev 66876)
@@ -122,7 +122,6 @@
         self.parentForm = parentForm
 
     def update(self):
-        #self.setUpWidgets()
         self.form_reset = False
 
         data = {}
@@ -163,6 +162,7 @@
                    if IParentAction.providedBy(action)]
         return form.availableActions(self, actions)
 
+
 class MultiFormBase(form.FormBase):
 
     implements(IMultiForm)



More information about the Checkins mailing list