diff --git a/Controller.php b/Controller.php index a006634..44dd182 100644 --- a/Controller.php +++ b/Controller.php @@ -148,6 +148,9 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Organization/Theme/Backend/unit-profile'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004702001, $request, $response)); + $selectorView = new \Modules\Organization\Theme\Backend\Components\UnitTagSelector\UnitTagSelectorView($this->app, $request, $response); + $view->addData('unit-selector', $selectorView); + $view->addData('unit', UnitMapper::get((int) $request->getData('id'))); return $view; @@ -178,6 +181,9 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Organization/Theme/Backend/unit-create'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004702001, $request, $response)); + $selectorView = new \Modules\Organization\Theme\Backend\Components\UnitTagSelector\UnitTagSelectorView($this->app, $request, $response); + $view->addData('unit-selector', $selectorView); + return $view; } @@ -236,6 +242,12 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Organization/Theme/Backend/department-profile'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response)); + $selectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\DepartmentTagSelectorView($this->app, $request, $response); + $view->addData('department-selector', $selectorView); + + $unitSelectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\UnitTagSelectorView($this->app, $request, $response); + $view->addData('unit-selector', $unitSelectorView); + $view->addData('department', DepartmentMapper::get((int) $request->getData('id'))); return $view; @@ -266,6 +278,12 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Organization/Theme/Backend/department-create'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response)); + $selectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\DepartmentTagSelectorView($this->app, $request, $response); + $view->addData('department-selector', $selectorView); + + $unitSelectorView = new \Modules\Organization\Theme\Backend\Components\UnitTagSelector\UnitTagSelectorView($this->app, $request, $response); + $view->addData('unit-selector', $unitSelectorView); + return $view; } @@ -324,6 +342,12 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Organization/Theme/Backend/position-profile'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004704001, $request, $response)); + $selectorView = new \Modules\Organization\Theme\Backend\Components\PositionTagSelector\PositionTagSelectorView($this->app, $request, $response); + $view->addData('position-selector', $selectorView); + + $departmentSelectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\DepartmentTagSelectorView($this->app, $request, $response); + $view->addData('department-selector', $departmentSelectorView); + $view->addData('position', PositionMapper::get((int) $request->getData('id'))); return $view; @@ -354,6 +378,12 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Organization/Theme/Backend/position-create'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004704001, $request, $response)); + $selectorView = new \Modules\Organization\Theme\Backend\Components\PositionTagSelector\PositionTagSelectorView($this->app, $request, $response); + $view->addData('position-selector', $selectorView); + + $departmentSelectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\DepartmentTagSelectorView($this->app, $request, $response); + $view->addData('department-selector', $departmentSelectorView); + return $view; } diff --git a/Theme/Backend/Components/DepartmentTagSelector/DepartmentTagSelectorPopupView.php b/Theme/Backend/Components/DepartmentTagSelector/DepartmentTagSelectorPopupView.php new file mode 100644 index 0000000..c0dc615 --- /dev/null +++ b/Theme/Backend/Components/DepartmentTagSelector/DepartmentTagSelectorPopupView.php @@ -0,0 +1,47 @@ +setTemplate('/Modules/Organization/Theme/Backend/Components/DepartmentTagSelector/department-selector-popup'); + } + + public function setId(string $id) + { + $this->id = $id; + } + + public function getId() : string + { + return $this->id; + } + + public function render(...$data) : string + { + $this->id = $data[0] ?? $this->id; + return parent::render(); + } +} diff --git a/Theme/Backend/Components/DepartmentTagSelector/DepartmentTagSelectorView.php b/Theme/Backend/Components/DepartmentTagSelector/DepartmentTagSelectorView.php new file mode 100644 index 0000000..c80e042 --- /dev/null +++ b/Theme/Backend/Components/DepartmentTagSelector/DepartmentTagSelectorView.php @@ -0,0 +1,53 @@ +setTemplate('/Modules/Organization/Theme/Backend/Components/DepartmentTagSelector/department-selector'); + + $view = new DepartmentTagSelectorPopupView($app, $request, $response); + $this->addData('department-selector-popup', $view); + } + + public function getId() : string + { + return $this->id; + } + + public function isRequired() : bool + { + return $this->isRequired; + } + + public function render(...$data) : string + { + $this->id = $data[0]; + $this->isRequired = $data[1] ?? false; + $this->getData('department-selector-popup')->setId($this->id); + return parent::render(); + } +} diff --git a/Theme/Backend/Components/DepartmentTagSelector/department-selector-popup.tpl.php b/Theme/Backend/Components/DepartmentTagSelector/department-selector-popup.tpl.php new file mode 100644 index 0000000..9369a83 --- /dev/null +++ b/Theme/Backend/Components/DepartmentTagSelector/department-selector-popup.tpl.php @@ -0,0 +1,90 @@ + \ No newline at end of file diff --git a/Theme/Backend/Components/DepartmentTagSelector/department-selector.tpl.php b/Theme/Backend/Components/DepartmentTagSelector/department-selector.tpl.php new file mode 100644 index 0000000..aeb9170 --- /dev/null +++ b/Theme/Backend/Components/DepartmentTagSelector/department-selector.tpl.php @@ -0,0 +1,47 @@ +
+
+ + + + + isRequired() ? ' required' : ''; ?>> + +
+
+
+
\ No newline at end of file diff --git a/Theme/Backend/Components/PositionTagSelector/PositionTagSelectorPopupView.php b/Theme/Backend/Components/PositionTagSelector/PositionTagSelectorPopupView.php new file mode 100644 index 0000000..226b033 --- /dev/null +++ b/Theme/Backend/Components/PositionTagSelector/PositionTagSelectorPopupView.php @@ -0,0 +1,47 @@ +setTemplate('/Modules/Organization/Theme/Backend/Components/PositionTagSelector/position-selector-popup'); + } + + public function setId(string $id) + { + $this->id = $id; + } + + public function getId() : string + { + return $this->id; + } + + public function render(...$data) : string + { + $this->id = $data[0] ?? $this->id; + return parent::render(); + } +} diff --git a/Theme/Backend/Components/PositionTagSelector/PositionTagSelectorView.php b/Theme/Backend/Components/PositionTagSelector/PositionTagSelectorView.php new file mode 100644 index 0000000..8e48f25 --- /dev/null +++ b/Theme/Backend/Components/PositionTagSelector/PositionTagSelectorView.php @@ -0,0 +1,53 @@ +setTemplate('/Modules/Organization/Theme/Backend/Components/PositionTagSelector/position-selector'); + + $view = new PositionTagSelectorPopupView($app, $request, $response); + $this->addData('position-selector-popup', $view); + } + + public function getId() : string + { + return $this->id; + } + + public function isRequired() : bool + { + return $this->isRequired; + } + + public function render(...$data) : string + { + $this->id = $data[0]; + $this->isRequired = $data[1] ?? false; + $this->getData('position-selector-popup')->setId($this->id); + return parent::render(); + } +} diff --git a/Theme/Backend/Components/PositionTagSelector/position-selector-popup.tpl.php b/Theme/Backend/Components/PositionTagSelector/position-selector-popup.tpl.php new file mode 100644 index 0000000..9369a83 --- /dev/null +++ b/Theme/Backend/Components/PositionTagSelector/position-selector-popup.tpl.php @@ -0,0 +1,90 @@ + \ No newline at end of file diff --git a/Theme/Backend/Components/PositionTagSelector/position-selector.tpl.php b/Theme/Backend/Components/PositionTagSelector/position-selector.tpl.php new file mode 100644 index 0000000..aeb9170 --- /dev/null +++ b/Theme/Backend/Components/PositionTagSelector/position-selector.tpl.php @@ -0,0 +1,47 @@ +
+
+ + + + + isRequired() ? ' required' : ''; ?>> + +
+
+
+
\ No newline at end of file diff --git a/Theme/Backend/Components/UnitTagSelector/UnitTagSelectorPopupView.php b/Theme/Backend/Components/UnitTagSelector/UnitTagSelectorPopupView.php new file mode 100644 index 0000000..b474129 --- /dev/null +++ b/Theme/Backend/Components/UnitTagSelector/UnitTagSelectorPopupView.php @@ -0,0 +1,47 @@ +setTemplate('/Modules/Organization/Theme/Backend/Components/UnitTagSelector/unit-selector-popup'); + } + + public function setId(string $id) + { + $this->id = $id; + } + + public function getId() : string + { + return $this->id; + } + + public function render(...$data) : string + { + $this->id = $data[0] ?? $this->id; + return parent::render(); + } +} diff --git a/Theme/Backend/Components/UnitTagSelector/UnitTagSelectorView.php b/Theme/Backend/Components/UnitTagSelector/UnitTagSelectorView.php new file mode 100644 index 0000000..e867540 --- /dev/null +++ b/Theme/Backend/Components/UnitTagSelector/UnitTagSelectorView.php @@ -0,0 +1,53 @@ +setTemplate('/Modules/Organization/Theme/Backend/Components/UnitTagSelector/unit-selector'); + + $view = new UnitTagSelectorPopupView($app, $request, $response); + $this->addData('unit-selector-popup', $view); + } + + public function getId() : string + { + return $this->id; + } + + public function isRequired() : bool + { + return $this->isRequired; + } + + public function render(...$data) : string + { + $this->id = $data[0]; + $this->isRequired = $data[1] ?? false; + $this->getData('unit-selector-popup')->setId($this->id); + return parent::render(); + } +} diff --git a/Theme/Backend/Components/UnitTagSelector/unit-selector-popup.tpl.php b/Theme/Backend/Components/UnitTagSelector/unit-selector-popup.tpl.php new file mode 100644 index 0000000..9369a83 --- /dev/null +++ b/Theme/Backend/Components/UnitTagSelector/unit-selector-popup.tpl.php @@ -0,0 +1,90 @@ + \ No newline at end of file diff --git a/Theme/Backend/Components/UnitTagSelector/unit-selector.tpl.php b/Theme/Backend/Components/UnitTagSelector/unit-selector.tpl.php new file mode 100644 index 0000000..aeb9170 --- /dev/null +++ b/Theme/Backend/Components/UnitTagSelector/unit-selector.tpl.php @@ -0,0 +1,47 @@ +
+
+ + + + + isRequired() ? ' required' : ''; ?>> + +
+
+
+
\ No newline at end of file diff --git a/Theme/Backend/department-create.tpl.php b/Theme/Backend/department-create.tpl.php index f1a4f41..d9e5797 100644 --- a/Theme/Backend/department-create.tpl.php +++ b/Theme/Backend/department-create.tpl.php @@ -26,10 +26,9 @@ echo $this->getData('nav')->render(); ?> - + getData('department-selector')->render('iParent', false); ?> - + getData('unit-selector')->render('iUnit', false); ?> diff --git a/Theme/Backend/department-profile.tpl.php b/Theme/Backend/department-profile.tpl.php index 674d364..ed1c10f 100644 --- a/Theme/Backend/department-profile.tpl.php +++ b/Theme/Backend/department-profile.tpl.php @@ -28,10 +28,9 @@ echo $this->getData('nav')->render(); ?> - + getData('department-selector')->render('iParent', false); ?> - + getData('unit-selector')->render('iUnit', false); ?> - + getData('position-selector')->render('iParent', false); ?> - + getData('department-selector')->render('iDepartment', false); ?> - + getData('position-selector')->render('iParent', false); ?> - + getData('department-selector')->render('iDepartment', false); ?> - + getData('unit-selector')->render('iParent', false); ?> - + getData('unit-selector')->render('iParent', false); ?>