Call to undefined method App\Presenters\Components\PostFormFactory::getUser()

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

Čau,
snažím se předat jméno přihlášeného uživatele do databáze ale tracy mi vrací
`Call to undefined method App\Presenters\Components\PostFormFactory::getUser() `
a odkazuje na 39. řádek

  public function postFormSucceeded($form, $values)
35:        {
36:            $presenter = $form->getPresenter();
37:
38:            $this->database->table('posts')->insert([
39:                'author' => $this->getUser()->getIdentity()->getId()['name'],
40:                'content' => $values->content,
41:                'title' => $values->title,
42:            ]);

v jiné factory mi to funguje, v této ale ne. Děkuji za rady

ZahorskyJan
Člen | 59
+
0
-

@mi85 Z té chyby co to píše nemá objekt $this metodu getUser() což formulář pochopitelně nemá. Asi tam patří proměnná $presenter->getUser(), kterou sis tam i nachystal o 3 řádky výš.

CZechBoY
Člen | 3608
+
+1
-

Lepsi bybylo vyzadat si uzivatele v konstruktoru a nemit skryty zavislosti.