[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