Získání user->getId() v presenteru

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

Ahoj,

dá se nějak získat uživatelská identita? Například pro uložení jména uživatele do databáze při nějaké akci přímo v presenteru, například při odeslání formuláře, kdy by se do pole hodnot přidala proměnná autor, které by byla nastavena hodnota identity

asi něco takového, ale pokud to použiji, laděnka hodí Fatal Error **Call to a member function getId() on a non-object
**

<?php
public function myForm_onSubmit(Form $form)
{
	$user = Environment::getUser();
	$entry = $form->getValues();
	$entry['autor'] = $user->getIdentity()->getId();
}
?>

a pak by se hodnota $entry uložila pomocí funkce modelu do databáze, akorát to házi chybu, kterou jsem zmínil. Teoreticky by to šlo udělat přes JavaScript, kde by se v template přiřadila hodnota nějakému Hidden inputu, ale takové řešení se mi příliš nechce používat.

Díky za radu.

Majkl578
Moderator | 1364
+
0
-

To je správně. Seš si jistý, že je uživatel přihlášen a že má identitu?

dEath
Člen | 39
+
0
-

Majkl578 napsal(a):

To je správně. Seš si jistý, že je uživatel přihlášen a že má identitu?

ono už mi to nějak záhadně funguje, asi chvilková rezignace :( divný je, že mi to nefungovalo ve dvou případech a identita měla být vložená