[Zope] Displaying something based on role doesn't work properly
Alexander Limi
alexander@limi.net
Tue, 13 Feb 2001 14:12:07 +0100
> Alexander Limi writes:
> > All documents work fine, except when I get an error message - then
the
> > extra menu disappears, like the user is no longer authenticated,
> > although when I follow a link further into the site, I suddenly get
the
> > menu back.
> You know that cookies can be restricted to be send to just
> part of the site?
> Put a DTML method "showRequest" with the content
>
> <dtml-var standard_html_head>
> <dtml-var REQUEST>
> <dtml-var standard_html_footer>
>
> into your root folder (such that it is acquired everywhere).
> Test with "<url>/showRequest" whether the cookie is sent to
> "<url>".
As I pointed out, it works fine except for standard_error_message.
It seems like AUTHENTICATED_USER.has_role(['Member','Artist','Manager'])
won't work on standard_error_messages. If I do a
<dtml-var "AUTHENTICATED_USER.has_role(['Member','Artist','Manager'])">
in the header, it prints "1" on all the documents, except for
standard_error_message, where "0" is printed.
The cookie appears in normal documents, so I presume there is some kind
of error in my standard_html_header. It looks like this:
(Norwegian text, but that's not the important part anyway :)
<dtml-var standard_html_header>
<h2>Ooops.</h2>
<p>
Dette er en feilmelding. Av den snille og litt myke typen.
</p>
<dtml-if "error_type=='NotFound'">
<p>Dokumentet du forsøkte å finne eksisterer ikke. Kanskje du har
stavet noe feil?</p>
<dtml-comment><p>Prøv gjerne vår søkemotor for å finne det du leter
etter.</p></dtml-comment>
<dtml-else>
<dtml-var table_start>
<tr><th colspan=2>Feilmeldings-dippedutten vår sier</th></tr>
<tr><td><strong>Error Type</strong></td>
<td><dtml-var error_type missing=" "></td>
</tr>
<tr class="even"><td><strong>Error Message</strong></td>
<td><dtml-var error_message missing=" "></td>
</tr>
<tr><td><strong>Error Value</strong></td>
<td><dtml-var error_value missing=" "></td>
</tr>
</table>
<p>
Hvis denne kom opp når du gjorde noe
viktig, og det som står over ikke forteller deg noe om hva som er galt,
send oss gjerne en mail (<a
href="&dtml-our_email;">&dtml-our_email;</a>) med en beskrivelse av hva
du forsøkte å gjøre når denne feilen oppstod. Vi skal forsøke å hjelpe
deg så fort som mulig.
</p>
<p>
Hvis du vil være <strong>ekstra</strong> snill, kan du lagre denne
siden som
en HTML-fil ("Fil -> Lagre som" i menyen), og legge den med som et
vedlegg. Da blir det enklere for oss å
finne feilen. Vi har nemlig gjemt hemmelige besvergelser i denne siden
som
gjør oss i stand til å finne ut hva som gikk galt.
</p>
<!-- Her er errormessage, samt traceback. For de av dere som lurer, er
det
denne vi bruker for å finne feilen som oppstod.
_________________________________extras_________________________________
________
Error Type: <dtml-var error_type>
<dtml-if "error_type in ('KeyError','NameError')">
This resource may be trying to reference a nonexistent object or
variable <dtml-var error_value>.
</dtml-if>
_____________________________REQUEST-objektet___________________________
_______
<dtml-var REQUEST>
________________________________end_extras______________________________
________
-->
</dtml-if>
<dtml-var standard_html_footer>