[Zope] External Methods and Authentication error (resolved)
Jonathan
dev101 at magma.ca
Sun Mar 11 15:59:35 EDT 2007
----- Original Message -----
From: "Dieter Maurer" <dieter at handshake.de>
To: "Jonathan" <dev101 at magma.ca>
Cc: <zope at zope.org>
Sent: Sunday, March 11, 2007 3:13 PM
Subject: Re: [Zope] External Methods and Authentication error
>>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)".
Thanks Dieter, that makes sense and clears up the situation entirely!
Jonathan
More information about the Zope
mailing list