1: <?php
2:
3: /**
4: * Project sberp
5: *
6: * @file StorePresenter
7: * @author Jaromír Polášek
8: * @version 0.8.3.AFTERMATH
9: * Encoding UTF-8
10: */
11:
12: namespace App\Modules\StoreModule\Presenters;
13:
14: use App\Presenters\RenderPresenter,
15: App\Modules\StoreModule\Model\Move;
16:
17: /**
18: * Presenter Skladu
19: * Hlavní sklad může být jen jeden.
20: */
21: class StorePresenter extends RenderPresenter {
22:
23: /** @var \Nette\Database\Table\ActiveRow Hlavní sklad */
24: private $master;
25:
26: /** @var \App\Modules\StoreModule\Model\Move Model pro řízení skladu */
27: private $move;
28:
29: public function __construct(Move $move) {
30: $this->move = $move;
31: parent::__construct();
32: }
33:
34: /**
35: * Pokud je nastavován máster
36: * @param type $values
37: * @return type
38: */
39: protected function beforeProcess($values) {
40: $this->master = $this->move->isNewMaster($values);
41: return $values;
42: }
43:
44: /**
45: * V případě, že se podaří uložit, systém zruší starý hlavní sklad
46: * @param type $id
47: */
48: protected function afterProcess($id) {
49: if ($this->master && $id) {
50: $this->move->removeMaster($this->master);
51: $this->move->redirectMaster();
52: }
53: }
54: }
55: