addEmail('email', 'E-mail:') ->setRequired('Zadejte prosím váš e-mail.') ->setHtmlAttribute('placeholder', 'jan@novak.cz'); $form->addPassword('password', 'Heslo:') ->setRequired('Zadejte prosím heslo.'); $form->addSubmit('send', 'Přihlásit se'); $form->onSuccess[] = [$this, 'signInFormSucceeded']; return $form; } /** * Zpracování formuláře po odeslání */ public function signInFormSucceeded(Form $form, \stdClass $data): void { try { // Zavolá náš Authenticator spojený s Master DB $this->getUser()->login($data->email, $data->password); $this->flashMessage('Přihlášení proběhlo úspěšně.', 'success'); // Přesměrování do hlavní části aplikace (např. HomePresenter) $this->redirect('Faktura:'); } catch (AuthenticationException $e) { $form->addError('Nespravný e-mail nebo heslo.'); } } /** * Akce pro odhlášení */ public function actionOut(): void { $this->getUser()->logout(true); // smaže i identitu $this->flashMessage('Byli jste úspěšně odhlášeni.', 'info'); $this->redirect('in'); } }