[Zope] External Methods and Authentication error
Dieter Maurer
dieter at handshake.de
Sun Mar 11 15:13:02 EDT 2007
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
More information about the Zope
mailing list