Automatický update uživatele

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

Ahoj , mám otázku v nette pracuji chvilku a potřebuji pomoc s updatem uživatele . Když se někdo přihlásí a provede změnu aby ji viděl okamžitě nikoliv po odhlášení. Děkuji za odpověd shifi .

Zax
Člen | 370
+
+1
-

Ahoj, potřebuješ vlastní UserStorage, který ti bude data načítat z databáze. Nette defaultně pracuje pouze se session, proto se změny promítnou až po odhlášení.

Viz toto téma: https://forum.nette.org/…debrane-role

David Matějka
Moderator | 6445
+
+2
-

Ja to resim zhruba takto

Šaman
Člen | 2666
+
0
-

Při výpisu nepoužívej data o uživateli v Identitě, ale načítej si je z databáze jako jakákoliv jiná data. Identitu ber jen jako ladicí informaci a nositelku $id přihlášeného uživatele.

shificz
Člen | 15
+
-2
-

Pořád nefunguje , vyhazuje to chyby neumím to zapojit můžete mi prosím napsat nějaký návod ? děkuji

Azathoth
Člen | 495
+
0
-

Co kde vyhazuje jaké chyby?

shificz
Člen | 15
+
0
-

Upřímně já nevím jeké kody mám přepsat takže většinou jen to že to nemůže přečíst .

ali
Člen | 342
+
-2
-

@shificz
ja to resim tak, ze v success metode odhlasim a znovu prihlasim uzivatele, takze se session obnovi za aktualni

public function settingsSuccess(Form $form)
{
  $userID = $this->user->getId();
  $this->settingsModel->saveSettings($this->user->getId(),$form->getValues());

  $this->user->logOut(true);
  $this->user->login(new Identity($userID,$this->userModel->loadUserRoles($userID),$this->userModel->loadUserData($userID)));

  $this->flashMessage("Nastavení bylo uloženo.","success");
  $this->redirect("this");
}

Editoval ali (30. 10. 2014 12:34)

David Matějka
Moderator | 6445
+
0
-

@ali a co kdyz zmenu udaju provede nekdo jiny? treba admin..

ali
Člen | 342
+
0
-

@matej21 no tak to me fakt nenapadlo :-)

Osobne to, ale pouzivam jen pro usetreni query na DB, abych nemusel pro zobrazeni „Jste prihlasen jako XXX“ davat query do DB, kdyz si zobrazevane jmeno uzivatel zmeni atd..