Projekt

Obecné

Profil

Stáhnout (2.15 KB) Statistiky
| Větev: | Tag: | Revize:
1 67c41231 Filip Jani
<?php
2
3 f115c8b5 Filip Jani
namespace App\FrontModule\Presenters;
4 67c41231 Filip Jani
5 36947b88 Petr Lukašík
use App\FrontModule\Components\IUserSettingsFormFactory;
6 f115c8b5 Filip Jani
use App\FrontModule\Components\ILoginFormFactory;
7 00f32800 Filip Jani
use App\Enum\EFlashMessage;
8 a80fe7b2 Jan Šedivý
use App\Model\Repository\SettingsRepository;
9 67c41231 Filip Jani
use Nette;
10
11
12
final class HomepagePresenter extends Nette\Application\UI\Presenter
13
{
14 00f32800 Filip Jani
    /** @var ILoginFormFactory */
15
    private $loginFormFactory;
16 dd522430 Filip Jani
17 36947b88 Petr Lukašík
    /** @var IUserSettingsFormFactory */
18
    private $userSettingsFormFactory;
19 a80fe7b2 Jan Šedivý
    /**
20
     * @var SettingsRepository
21
     */
22
    private $settingsRepository;
23 36947b88 Petr Lukašík
24 94fce7fe Filip Jani
    public function __construct(ILoginFormFactory $loginFormFactory,
25 a80fe7b2 Jan Šedivý
                                IUserSettingsFormFactory $userSettingsFormFactory,
26
                                SettingsRepository $settingsRepository
27 36947b88 Petr Lukašík
    )
28 dd522430 Filip Jani
    {
29
        parent::__construct();
30
31 00f32800 Filip Jani
        $this->loginFormFactory = $loginFormFactory;
32 36947b88 Petr Lukašík
        $this->userSettingsFormFactory = $userSettingsFormFactory;
33 a80fe7b2 Jan Šedivý
        $this->settingsRepository = $settingsRepository;
34 dd522430 Filip Jani
    }
35
36 00f32800 Filip Jani
    public function actionDefault()
37
    {
38 a80fe7b2 Jan Šedivý
        $settings = $this->settingsRepository->getHomepageSettings();
39
        $this->template->settings = $settings;
40 00f32800 Filip Jani
    }
41
42 36947b88 Petr Lukašík
    public function actionUserSettings()
43
    {
44
        if (!$this->getUser()->isLoggedIn())
45
        {
46
            $this->redirect('Homepage:default');
47
        }
48
    }
49
50 00f32800 Filip Jani
    public function actionLogin()
51
    {
52
        if ($this->user->isLoggedIn())
53
        {
54
            $this->redirect('Homepage:default');
55
        }
56
    }
57 dd522430 Filip Jani
58 00f32800 Filip Jani
    public function actionLogout()
59
    {
60
        if ($this->getUser()->isLoggedIn())
61
        {
62
            $this->user->logout(true);
63
64
            $this->flashMessage('Odhlášení bylo úspěšné.', EFlashMessage::SUCCESS);
65
            $this->redirect('Homepage:default');
66
        }
67
    }
68
69
    /**
70
     * Komponenta přihlašovacího formuláře
71
     *
72 f115c8b5 Filip Jani
     * @return \App\FrontModule\Components\LoginForm
73 00f32800 Filip Jani
     */
74
    public function createComponentLoginForm()
75
    {
76
        return $this->loginFormFactory->create();
77 dd522430 Filip Jani
    }
78
79 36947b88 Petr Lukašík
    /**
80
     * @return \App\FrontModule\Components\UserSettingsForm
81
     */
82
    public function createComponentUserSettingsForm(){
83
        return $this->userSettingsFormFactory->create();
84
    }
85 67c41231 Filip Jani
}