Projekt

Obecné

Profil

Stáhnout (2.02 KB) Statistiky
| Větev: | Tag: | Revize:
1
<?php
2

    
3
namespace App\AdminModule\Presenters;
4

    
5

    
6
use App\AdminModule\Components\ISurfaceTypeEditFormFactory;
7
use App\AdminModule\Components\ISurfaceTypeGridFactory;
8
use App\Enum\EFlashMessage;
9
use App\Model\Repository\SurfaceTypeRepository;
10

    
11
class SurfacePresenter extends BaseAdminPresenter
12
{
13
    /** @var ISurfaceTypeGridFactory */
14
    private $surfaceTypeGridFactory;
15

    
16
    /** @var ISurfaceTypeEditFormFactory */
17
    private $surfaceTypeEditFormFactory;
18

    
19
    /** @var SurfaceTypeRepository */
20
    private $surfaceTypeRepository;
21

    
22
    private $typeId;
23

    
24
    /**
25
     * SurfacePresenter constructor.
26
     * @param ISurfaceTypeGridFactory $surfaceTypeGridFactory
27
     * @param ISurfaceTypeEditFormFactory $surfaceTypeEditFormFactory
28
     * @param SurfaceTypeRepository $surfaceTypeRepository
29
     */
30
    public function __construct(
31
        ISurfaceTypeGridFactory $surfaceTypeGridFactory,
32
        ISurfaceTypeEditFormFactory $surfaceTypeEditFormFactory,
33
        SurfaceTypeRepository $surfaceTypeRepository
34
    )
35
    {
36
        parent::__construct();
37

    
38
        $this->surfaceTypeGridFactory = $surfaceTypeGridFactory;
39
        $this->surfaceTypeEditFormFactory = $surfaceTypeEditFormFactory;
40
        $this->surfaceTypeRepository = $surfaceTypeRepository;
41
    }
42

    
43
    public function actionAddType()
44
    {
45

    
46
    }
47

    
48
    public function actionEditType(int $id)
49
    {
50
        $this->typeId = $id;
51
        $this->template->id = $id;
52
    }
53

    
54
    public function actionDeleteType(int $id)
55
    {
56
        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
    }
66

    
67
    public function createComponentSurfaceTypeGrid()
68
    {
69
        return $this->surfaceTypeGridFactory->create();
70
    }
71

    
72
    public function createComponentSurfaceTypeEditForm()
73
    {
74
        return $this->surfaceTypeEditFormFactory->create($this->typeId);
75
    }
76
}
(5-5/6)