[Checkins] SVN: zope3org/trunk/src/zorg/multiform/ hacking
Bernd Dorn
bernd.dorn at fhv.at
Tue Apr 11 19:37:46 EDT 2006
Log message for revision 66873:
hacking
Changed:
U zope3org/trunk/src/zorg/multiform/container/grid.pt
U zope3org/trunk/src/zorg/multiform/container/views.py
U zope3org/trunk/src/zorg/multiform/multiform.py
U zope3org/trunk/src/zorg/multiform/selection.py
-=-
Modified: zope3org/trunk/src/zorg/multiform/container/grid.pt
===================================================================
--- zope3org/trunk/src/zorg/multiform/container/grid.pt 2006-04-11 23:27:01 UTC (rev 66872)
+++ zope3org/trunk/src/zorg/multiform/container/grid.pt 2006-04-11 23:37:46 UTC (rev 66873)
@@ -180,6 +180,9 @@
</div>
</form>
+
+<div tal:content="view/request/form"/>
+
<script type="text/javascript" metal:define-slot="trackChanges">
zc_trackChanges(document.getElementById('zc.page.browser_form'));
</script>
Modified: zope3org/trunk/src/zorg/multiform/container/views.py
===================================================================
--- zope3org/trunk/src/zorg/multiform/container/views.py 2006-04-11 23:27:01 UTC (rev 66872)
+++ zope3org/trunk/src/zorg/multiform/container/views.py 2006-04-11 23:37:46 UTC (rev 66873)
@@ -131,7 +131,7 @@
self.status = (_("Updated on ${date_time}", mapping=m),)
else:
self.status = (_('No changes'),)
- ISelection(self.context).selected=False
+ ISelection(self.context).selected=False
self.newInputMode = False
Modified: zope3org/trunk/src/zorg/multiform/multiform.py
===================================================================
--- zope3org/trunk/src/zorg/multiform/multiform.py 2006-04-11 23:27:01 UTC (rev 66872)
+++ zope3org/trunk/src/zorg/multiform/multiform.py 2006-04-11 23:37:46 UTC (rev 66873)
@@ -23,12 +23,17 @@
def anySubFormInputMode(form,action):
if not IMultiForm.providedBy(form):
form = form.parentForm
- return (True in form.subFormInputMode.values())
+ for f in form.subForms.values():
+ if f.inputMode:
+ return True
def allSubFormsDisplayMode(form,action):
if not IMultiForm.providedBy(form):
form = form.parentForm
- return not (True in form.subFormInputMode.values())
+ for f in form.subForms.values():
+ if f.inputMode:
+ return False
+ return True
class ItemAction(form.Action):
@@ -151,21 +156,24 @@
self.checkInputMode()
self.updateSelection()
super(MultiFormBase,self).update()
- hasErrors = False
- for form in list(self.getForms()):
+ preForms = list(self.getForms())
+ for form in preForms:
form.update()
- refresh = False
- for form in list(self.getForms()):
+ postForms = list(self.getForms())
+ refresh = postForms != preForms
+ for form in postForms:
if form.newInputMode is not None:
newInputMode = form.newInputMode
context = self.context[form.context.__name__]
name = context.__name__
- self.setUpForm(name, context, newInputMode)
+ self.setUpForm(name, context, newInputMode,
+ ignore_request=True)
self.subFormInputMode[name] = newInputMode
refresh = True
if refresh:
self.refreshSubActionNames()
+
def setUpWidgets(self, *args, **kw):
super(MultiFormBase,self).setUpWidgets(*args,**kw)
self.setUpForms(*args, **kw)
@@ -195,13 +203,17 @@
# modifies the keys of our mapping, e.g. rename, delete
keys = list(self.context.keys())
deleted = filter(lambda x: x not in keys,self.subForms.keys())
- print "deleted----------",deleted
for k in deleted:
del(self.subForms[k])
+ try:
+ del(self.subFormInputMode[k])
+ except KeyError:
+ pass
for name in self.context.keys():
if not self.subForms.has_key(name):
self.setUpForm(name,self.context[name],
- self.itemFormFactory.inputMode)
+ self.itemFormFactory.inputMode,
+ ignore_request=True)
yield self.subForms[name]
Modified: zope3org/trunk/src/zorg/multiform/selection.py
===================================================================
--- zope3org/trunk/src/zorg/multiform/selection.py 2006-04-11 23:27:01 UTC (rev 66872)
+++ zope3org/trunk/src/zorg/multiform/selection.py 2006-04-11 23:37:46 UTC (rev 66873)
@@ -43,13 +43,16 @@
def _setSelected(self,v):
key = '_mf_selection.' + removeSecurityProxy(
self.context.__form__).prefix
- removeSecurityProxy(self.context.__form__).request.form[key]=v
+ form = removeSecurityProxy(self.context.__form__)
+ form.request.form[key] = v
def _getSelected(self):
key = '_mf_selection.' + removeSecurityProxy(
self.context.__form__).prefix
- return removeSecurityProxy(
+ res = removeSecurityProxy(
self.context.__form__).request.form.get(key,False)
+ print "res--------",res
+ return res
selected = property(_getSelected ,_setSelected)
More information about the Checkins
mailing list