<?php

namespace FrontModule;

use \Nette\Application\UI;

/**
 * Sign in/out presenters.
 */
class SignPresenter extends BasePresenter {
    public function beforeRender() {
        $this->template->title = 'Přihlášení do administrace';
        $this->template->description = 'Přihlášení do administrace';
    }


    protected function createComponentSignInForm() {
        $form = new UI\Form;
        $form->addText('username', 'Jméno:')
            ->setRequired('Vyplňte Vaší přezdívku.');
        $form->addPassword('password', 'Heslo:')
            ->setRequired('Vyplňte Vaše heslo.');
        $form->addSubmit('send', 'Přihlásit se');

        // call method signInFormSucceeded() on success
        $form->onSuccess[] = $this->signInFormSucceeded;
        return $form;
    }

    public function signInFormSucceeded($form) { // admin_WSS
        $values = $form->getValues();
        $heslo = hash('sha256', $values->password);
        try {
            $this->getUser()->login($values->username, $heslo);
            $this->flashMessage('Byl jste přihlášen', 'info');
            $this->redirect(':Admin:Homepage:');

        } catch (\Nette\Security\AuthenticationException $e) {
            $form->addError($e->getMessage());
        }
    }

}
