Projekt

Obecné

Profil

Stáhnout (2.02 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 8b71ca4d Jan Šedivý
        $this->typeId = $id;
51 db8e40be Jan Šedivý
        $this->template->id = $id;
52 93413904 Jan Šedivý
    }
53
54 8b71ca4d Jan Šedivý
    public function actionDeleteType(int $id)
55 93413904 Jan Šedivý
    {
56 db8e40be Jan Šedivý
        if($this->surfaceTypeRepository->delete($id))
57
        {
58
            $this->flashMessage('Surface type was deleted.', EFlashMessage::SUCCESS);
59
        }
60
        else
61
        {
62
            $this->flashMessage('Surface type was not found.', EFlashMessage::ERROR);
63
        }
64
        $this->redirect('Surface:');
65 93413904 Jan Šedivý
    }
66
67
    public function createComponentSurfaceTypeGrid()
68
    {
69
        return $this->surfaceTypeGridFactory->create();
70
    }
71 8b71ca4d Jan Šedivý
72
    public function createComponentSurfaceTypeEditForm()
73
    {
74
        return $this->surfaceTypeEditFormFactory->create($this->typeId);
75
    }
76 93413904 Jan Šedivý
}