ACL – přidělení práv – Editování vlastních údajů
- lopikol
- Začátečník | 75
Vytvořil jsem si dynamickou správu jako je tu https://forum.nette.org/…ovozneni-acl, ale narazil jsem na jeden problém.
Mám uživatele s právy Editor, který může jen na Admin:Homepage a
Admin:Content.
Rád bych, aby mohl upravit data sám sobě > měl přístup na Admin:Users
(action change), ale do jako takového Admin:Users ne. Jednoduše řečeno,
může měnit údaje sám sobě, ale ne ostatním.
- lopikol
- Začátečník | 75
No ano to znám, ale jak to udělám v nette?
Ikdyž to mámmezi tagy
<?php
{control tinymceForm begin}
//form
{control tinymceForm end}
?>
tak výsledek toho je "" (>nic)??
Nedá se přidat value až někde tady?
<?php
{$form['nick']->label}
{$form['nick']->control}
?>
Editoval lopikol (15. 2. 2011 19:58)
- Chbox
- Člen | 125
no to máš nějaký divný, plnit by se to mělo v komponentě :-)
...
$form->addHidden('nick', $this->user->identity->nick);
...
a v šabloně už jen:
{var form => control['nazevKomponentyFormulare']}
...
{$form['nick']->control}
ale proč vlastně vypisuješ hidden input??? vždyť ten ti přijde na výstupu :-)
Editoval Chbox (16. 2. 2011 10:22)
- Filip Procházka
- Moderator | 4668
v presenteru ano, v komponentě musíš přes
$this->getPresenter()->getUser()
- lopikol
- Začátečník | 75
$this->getPresenter()->user->identity->nick
je 100%
funkční.
$this->getPresenter()->getUser()
je prázdné > nic to
nevypíše.
Pokud ho dám do templatu místo
$user->getIdentity()->nick
,tak to končí chybou:
MemberAccessException
Call to undefined method Nette\Web\User::getUser().