Jonathan wrote at 2007-3-10 08:03 -0500: > ... >Dieter, thanks for the lead, but it is all very strange and I really don't >understand what is happening... > >External Method: > > # threadFolder is a BTreeFolder2; viewCount is a property >field on the BTreeFolder2 > >line 3227: threadFolder = self.unrestrictedTraverse(topFolder + forumId + >'/' + threadId) >line 3228: threadFolder.manage_changeProperties({'viewCount': >threadFolder.viewCount+1}) > > >OFS/PropertyManager.py > >line 299: def manage_changeProperties(self, REQUEST=None, **kw): >... >line 317: if REQUEST: >line 318: message="Saved changes." >line 319: return self.manage_propertiesForm(self,REQUEST, >line 320: >manage_tabs_message=message)
I see: the "DTML" object is "manage_propertiesForm" and there is no nameclash. The "manage_changeProperties" method has a somewhat awkward behaviour. In general, you should not pass it a positional argument but always keyword arguments. If you pass a positional argument, it takes it for "REQUEST" and usually does the wrong thing. If you have the arguments in a dictionary "d", use "manage_changeProperties(**d)". -- Dieter _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )