Jak automaticky zobrazovat/schovávat odkazy na presentery/akce dle práv v ACL?
- Pudlík
- Člen | 8
Zdravím všechny,
Chtěl bych se zeptat na takovou drobnost – nevím, zda to je něco, co každý řeší denně, ale nenašel jsem žádné elegantní řešení out-of-box, až mě to překvapilo :-)
Jedná se mi o to, že pokud mám aplikaci, ve které mám v ACL různé role a práva k různým akcím presenterům, musím u každého odkazu, který se týká určitých rolí (a naopak některých ne), dávat podmínku, zda ho vykreslit.
Inspiracace např. z tohoto:
if ($user->isAllowed('page', 'delete')) {
$html .= '<a href="/delete.php?page=' . $id . '">delete</a>';
}
https://doc.nette.org/…thentication
Zkrátka něco, co by automaticky nastavilo všechny odkazy (dělám je
pomocí maker) – <a n:href="Presenter:akce">
, na které
uživatel nemá právo, jako schované.
Stačí nakopnout, pak už poběžím sám :-)
Díky!
- pavelmlejnek
- Člen | 16
Časem by mělo být k dispozici n:if-allowed, zatím si na to musíš napsat vlastní makro (podívej se třeba sem)