Crivens!

repoze.what.predicates in einem template überprüfen

Montag, 17. Mai 2010, Themen:

Ich stand vor dem Problem, wie ich bei Turbogears einen Test auf ein repoze.what.predicate in einem Template durchführen kann. Ok, klingt ein bisschen blöde :-). Eigentlich geht es nur darum, dass ich z.B. für die Admininstratoren einen Link anzeigen möchte, für andere Benutzer nicht.

Für die Überprüfung innerhalb eines Controllers bietet Turbogears eine solche Beschränkung durch den @require-Decorator an. Aber wie funktioniert es in einem Template? Google sei Dank bin ich auf einige Diskussionen rund um das Thema gestoßen und schließlich bei diesem Eintrag gelandet, welcher mich auf das Changeset 6347 verwiesen hat.

Turbogears stellt über tg.predicates die entsprechenden tests zur Verfügung. Und hier ein kleines Beispiel dazu:

1
<p>${"OK" if tg.predicates.has_permission("ein_recht") else "BLOCKED"}</p>
Kommentare:
blog comments powered by Disqus