[Zope] ZPT: User logged in?
Florian Lindner
mailinglists at xgm.de
Sun Oct 5 06:14:29 EDT 2003
Tino Wildenhain wrote:
> Hi Florian,
>
> Florian Lindner wrote:
>
>> Tino Wildenhain wrote:
>>
>>> Hi Florian,
>>>
>>> Florian Lindner wrote:
>>>
>>>> Tino Wildenhain wrote:
>>>>
>>>>> Florian Lindner wrote:
>>>>>
>>>>>> Hello,
>>>>>> how can I find out if the current user in a authentificated user
>>>>>> or just an anonymous, using Page Templates?
>>>>>> Thanks,
>>>>>> Florian
>>>>>>
>>>>> Simply: you don't.
>>>>> Of course you can build somewhat obscure python expressions
>>>>> into ZTP tal attributes, but as often, its much simpler in
>>>>> a python script:
>>>>>
>>>>>
>>>>> from AccessControl import getSecurityManager
>>>>> return getSecurityManager().getUser().has_role("Authenticated")
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> It works as far as it return 1 or 0, but my tal:condtion doesn't work:
>>>>
>>>> <div style="margin-top:0.5em"
>>>> tal:condtion="here/Scripts/isAuthentificated" >
>>>> [...]
>>>> </div>
>>>>
>>>> What is wrong?
>>>
>>>
>>>
>>> You made a typo,
>>> it must be tal:condition, not tal:condtion
>>
>>
>>
>> This was not the error, it still does not work. (I made the typo only
>> on the email, not in the real code).
>> Thx,
>> Florian
>
>
> Sorry, but this is _impossible_.
> tal:condition evaluates the "truthness" of an expression just like
> python does. So 0, "", [], {}, None are all false.
> The Script returns 0 or 1, so it fits into this model.
>
> (If unsure, check with repr() to see if its 0 or "0")
>
> Even python2.3s real true/false should be supported by
> tal:condition - since it uses "if" internally.
>
> So I cannot really see why it is not working.
>
> Apparently your pagetemplate or zope installation is broken
> or you arent using a Page Template at all (File? DTML-whatever?)
Sorry, it was my fault. It is working correctly. I just forgot a not:
because I want to have the text rendered it the user is not logged in.
Sorry, sorry!
Florian
More information about the Zope
mailing list