[Checkins] SVN: zope3org/trunk/src/zorg/multiform/

Stefan Martin s.martin at iwm-kmrc.de
Mon Apr 10 16:07:45 EDT 2006


Log message for revision 66811:
  

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 19:03:36 UTC (rev 66810)
+++ zope3org/trunk/src/zorg/multiform/gridform.py	2006-04-10 20:07:44 UTC (rev 66811)
@@ -19,18 +19,45 @@
 
 class FormLocationSelection(object):
 
+    __doc__ = """Form Location-object proxy
+
+    This is a non-picklable proxy that can be put around objects that
+    implement `ILocation`.
+    >>> from zope.publisher.browser import TestRequest
+    >>> from zope import interface
+    >>> class L(object):
+    ...     __name__ = u'name'
+    >>> l= L()
+    >>> class F(object):
+    ...     request = TestRequest()
+    ...     context = 1
+    ...     prefix = u"form.n1"
+    >>> f = F()
+    >>> p = FormLocationProxy(l, f)
+    >>> p = FormLocationSelection(p)
+    >>> p.selected
+    False
+    >>> p.selected = True
+    >>> p.selected
+    True
+    >>> p.selected = False
+    >>> p.selected
+    False
+    """
+
     implements(ISelection)
 
     def __init__(self,context):
-        self.key = '_mf_selection.' + context.__form__.prefix + \
-                   "." + context.__name__
+        self.context = context
         self.request = context.__form__.request
 
     def _setSelected(self,v):
-        self.request.form[self.key]=v
+        key = '_mf_selection.' + self.context.__form__.prefix
+        self.request.form[key]=v
 
     def _getSelected(self):
-        return self.request.form.get(self.key,False)
+        key = '_mf_selection.' + self.context.__form__.prefix
+        return self.request.form.get(key,False)
 
     selected = property(_getSelected ,_setSelected)
         

Modified: zope3org/trunk/src/zorg/multiform/gridform.txt
===================================================================
--- zope3org/trunk/src/zorg/multiform/gridform.txt	2006-04-10 19:03:36 UTC (rev 66810)
+++ zope3org/trunk/src/zorg/multiform/gridform.txt	2006-04-10 20:07:44 UTC (rev 66811)
@@ -39,8 +39,6 @@
     ...     return ISelection(form.context).selected
 
     >>> def isSelectedDisplay(form,action):
-    ...     if isSubFormInputMode(form,action):
-    ...         return False
     ...     return ISelection(form.context).selected
     
 	>>> def isSubFormInputMode(form,action):
@@ -71,6 +69,7 @@
     ...     @multiform.parentAction('Edit',
     ...         condition=isSelectedDisplay)
     ...     def handle_edit_action(self, action, data):
+    ...         print "Edit"
     ...         self.parentForm.subFormNewInputMode[self.context.__name__]=True
 
 
@@ -134,5 +133,8 @@
     >>> request.form['form.actions.edit']=u''
     >>> request.form['form.n1.selected']=u'on'
     >>> gf = OrdersForm(orderMapping,request)
-    >>> print gf()
-
+    >>> res = gf()
+    >>> gf.subForms['n1'].prefix
+    aaa
+    >>> ISelection(gf.subForms['n1'].context).request.form
+    aaa    
\ No newline at end of file

Modified: zope3org/trunk/src/zorg/multiform/multiform.py
===================================================================
--- zope3org/trunk/src/zorg/multiform/multiform.py	2006-04-10 19:03:36 UTC (rev 66810)
+++ zope3org/trunk/src/zorg/multiform/multiform.py	2006-04-10 20:07:44 UTC (rev 66811)
@@ -231,7 +231,6 @@
     def updateSelection(self):
         for field in self.itemFormFactory.form_fields:
             if issubclass(field.field.interface,ISelection):
-                import pdb;pdb.set_trace()
                 form_fields = form.Fields(field)
                 for name,item in self.context.items():
                     sForm = form.FormBase(getMultiAdapter([item,self],IFormLocation), self.request)



More information about the Checkins mailing list