Resource a privilege dle Presenter a action – dobrý nebo špatný přístup?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jtousek
Člen | 951
+
0
-

Mám v šabloně nějaký odkaz, ale chci jej obalit podmínkou, aby se zobrazil jen v případě, že uživatel má oprávnění k provedení cílové akce. Resource a privilege v ACL ± odpovídají presenterům a action.

Potřebuji tedy z toho linku (kde může být např. ‚this‘, nebo třeba nebude uveden presenter protože se bere aktuální atd.) nějak vypreparovat cílový modul, presenter a action. To by nějak šlo přes explode dle ‚:‘ + podmínky, ale raději bych použil ten samý kód který na to má Nette. Ten je ale bohužel schován kdesi v metodě Presenter::createRequest a nelze jej volat samostatně.

Co s tím? Jak to řešíte? Nebo na to jdu úplně špatně a měl bych to řešit jinak?

llook
Člen | 407
+
0
-

Já nemám resources podle presenterů, ale podle modelu. Řeším to n:if makrem, cca takhle:

<a n:if="$user->isAllowed('models\Item', 'delete')"
   n:href="itemsCrud:showDelete! id => $item->id"
   >Smazat</a>