Interesting results (Version 2.00.0 (2012-08-02 21:51:02) dev)
>From tools.py:
def is_impersonating(self):
return 'impersonator' in current.session.auth
The return value of is_impersonating is not False or True but None or the
whole current.session.auth as string.
A change in tools.py to
def is_impersonating(self):
return *(*'impersonator' in current.session.auth*) != None*
works, but I cannot understand why the in-operator has not the results False
or True.
2012/7/29 Massimo Di Pierro <[email protected]>
> I think this should be considered a bug. Than you check trunk?
>
>
> On Sunday, 29 July 2012 05:37:51 UTC-5, weheh wrote:
>>
>> I haven't traced through all the code carefully, but is_impersonating()
>> returns current.session.auth.**impersonator, which is based on a
>> cPickle. So you're not getting a boolean, as you might be led to expect
>> from the name of the function.
>>
>>
>> On Sunday, July 29, 2012 1:38:42 PM UTC+8, mweissen wrote:
>>>
>>> I am using "impersonate" (great idea!) and I have a menu item which
>>> should only appear when somebody is impersonated. I wrote
>>>
>>> ('end impersonate', False, URL('endimpersonate'),[],*auth.
>>> is_impersonating()*)
>>>
>>> This did notwork, I had to write
>>>
>>> ('end impersonate', False, URL('endimpersonate'),[],*auth.
>>> is_impersonating()!=None*)
>>>
>>> Why?
>>> Regards, Martin
>>>
>>>
>
--