Projekt

Obecné

Profil

Stáhnout (2.22 KB) Statistiky
| Větev: | Tag: | Revize:
1 93413904 Jan Šedivý
<?php
2
3
namespace App\AdminModule\Presenters;
4
5
6 8b71ca4d Jan Šedivý
use App\AdminModule\Components\ISurfaceTypeEditFormFactory;
7 93413904 Jan Šedivý
use App\AdminModule\Components\ISurfaceTypeGridFactory;
8 db8e40be Jan Šedivý
use App\Enum\EFlashMessage;
9
use App\Model\Repository\SurfaceTypeRepository;
10 93413904 Jan Šedivý
11 601eec74 Jan Šedivý
class SurfacePresenter extends BaseUserPresenter
12 93413904 Jan Šedivý
{
13
    /** @var ISurfaceTypeGridFactory */
14
    private $surfaceTypeGridFactory;
15
16 8b71ca4d Jan Šedivý
    /** @var ISurfaceTypeEditFormFactory */
17
    private $surfaceTypeEditFormFactory;
18
19 db8e40be Jan Šedivý
    /** @var SurfaceTypeRepository */
20
    private $surfaceTypeRepository;
21
22 93413904 Jan Šedivý
    private $typeId;
23
24
    /**
25
     * SurfacePresenter constructor.
26
     * @param ISurfaceTypeGridFactory $surfaceTypeGridFactory
27 8b71ca4d Jan Šedivý
     * @param ISurfaceTypeEditFormFactory $surfaceTypeEditFormFactory
28 db8e40be Jan Šedivý
     * @param SurfaceTypeRepository $surfaceTypeRepository
29 93413904 Jan Šedivý
     */
30 8b71ca4d Jan Šedivý
    public function __construct(
31
        ISurfaceTypeGridFactory $surfaceTypeGridFactory,
32 db8e40be Jan Šedivý
        ISurfaceTypeEditFormFactory $surfaceTypeEditFormFactory,
33
        SurfaceTypeRepository $surfaceTypeRepository
34 8b71ca4d Jan Šedivý
    )
35 93413904 Jan Šedivý
    {
36
        parent::__construct();
37
38
        $this->surfaceTypeGridFactory = $surfaceTypeGridFactory;
39 8b71ca4d Jan Šedivý
        $this->surfaceTypeEditFormFactory = $surfaceTypeEditFormFactory;
40 db8e40be Jan Šedivý
        $this->surfaceTypeRepository = $surfaceTypeRepository;
41 93413904 Jan Šedivý
    }
42
43
    public function actionAddType()
44
    {
45
46
    }
47
48 8b71ca4d Jan Šedivý
    public function actionEditType(int $id)
49 93413904 Jan Šedivý
    {
50 06d4f041 Jan Šedivý
        if(!$this->surfaceTypeRepository->findRow($id))
51
        {
52
            $this->flashMessage('Surface type was not found.', EFlashMessage::ERROR);
53
            $this->redirect('Surface:');
54
        }
55
56 8b71ca4d Jan Šedivý
        $this->typeId = $id;
57 db8e40be Jan Šedivý
        $this->template->id = $id;
58 93413904 Jan Šedivý
    }
59
60 8b71ca4d Jan Šedivý
    public function actionDeleteType(int $id)
61 93413904 Jan Šedivý
    {
62 db8e40be Jan Šedivý
        if($this->surfaceTypeRepository->delete($id))
63
        {
64
            $this->flashMessage('Surface type was deleted.', EFlashMessage::SUCCESS);
65
        }
66
        else
67
        {
68
            $this->flashMessage('Surface type was not found.', EFlashMessage::ERROR);
69
        }
70
        $this->redirect('Surface:');
71 93413904 Jan Šedivý
    }
72
73
    public function createComponentSurfaceTypeGrid()
74
    {
75
        return $this->surfaceTypeGridFactory->create();
76
    }
77 8b71ca4d Jan Šedivý
78
    public function createComponentSurfaceTypeEditForm()
79
    {
80
        return $this->surfaceTypeEditFormFactory->create($this->typeId);
81
    }
82 93413904 Jan Šedivý
}