načtení uživatelského nastavení a chyba při opětovném přihlášení

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

Ahoj, mám dva dotazy.

  1. Chtěl bych z databáze načíst uživatelské nastavení při přihlášení. Součástí uživatelského nastavení je i jazyk. Jak to lze udělat abych při přihlášení načetl prostředí v jeho jazyce?

Lokalizaci mám přes \Kdyby\Translator.Zde jsem našel, jak by to šlo udělat a zajímá mě jestli to jde udělat i jinak (lépe)?

  1. Když se odhlásím tak mi stránka vypíše „Byl jste úspěšně odhlášen.“. Po 12–15h příjdu k PC a chci se znovu přihlásit (pořád tam vidím tu hlášku, že jsem byl úspěšně odhlášen), a po zadání loginu a hesla se stránka jen refreshne, a nic se nestane, po opětovném zadání to již pracuje jak má.

Nevíte čím to může být?? Možná session …

Díky za případné odpovědi.

David Matějka
Moderator | 6445
+
0
-

jde udělat i jinak (lépe)?

jak lepe si to predstavujes?

ondrusu
Člen | 118
+
0
-

stačí když to udělám takhle při přihlášení uživatele?

$this->translator->setLocale('en');

nebo to musí být přes to rozhraní IUserLocaleResolver

ondrusu
Člen | 118
+
0
-

Nevíte někdo ještě ten druhý bod?? Tj. když se ohlásím a odejdu od pc, a pak se přihlásím že se mi jen refreshne pohlížeč (na podruhé to příhlášení již funguje)??

Pak mám ještě jeden dotaz, chtěl bych nastavit hlášku že jsem byl odhlášen z důvodu nečinnosti.
Ohlášení mi funguje, ale už se neobjeví ta hláška
tohle mám v LoginPresenteru

try {
  $this->getUser()->setExpiration('4 hours', TRUE);
  $this->getUser()->login($values->userName, $values->password);
  $this->redirect("Homepage:default");
}
catch (AuthenticationException $e) {  // Invalid login
  $this->flashMessage($e->getMessage(), "danger");
  $this->redirect("Login:default");
}

BasePresenter

if ($this->getUser()->getLogoutReason() === \Nette\Security\User::INACTIVITY) {
  $this->flashMessage($this->translator->translate('inactivity'), "info");
}

V config.neon mám

session:
 expiration: 4 hours

Mám nastavit expiraci na 2 dny a user session na 4 hodiny? Nebo jak se to dá řešit jinak?
A inkrementuje se session když uživatel něco dělá na PC??
Díky za odpověď.

Editoval ondrusu (9. 2. 2016 10:09)