From 990062fbe9e53793ffd2ebeb8f3d319bfa7bb5f2 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 27 Jul 2017 20:38:07 +0200 Subject: [PATCH] Make organization output use belongsTo --- Models/DepartmentMapper.php | 4 ++++ Models/NullDepartment.php | 19 +++++++++++++++++++ Models/NullPosition.php | 19 +++++++++++++++++++ Models/NullUnit.php | 19 +++++++++++++++++++ Models/Position.php | 2 +- Models/PositionMapper.php | 6 +++++- Models/UnitMapper.php | 4 ++++ Theme/Backend/department-list.tpl.php | 4 ++-- Theme/Backend/department-profile.tpl.php | 2 +- Theme/Backend/position-list.tpl.php | 4 +++- Theme/Backend/position-profile.tpl.php | 2 +- Theme/Backend/unit-list.tpl.php | 4 ++-- Theme/Backend/unit-profile.tpl.php | 2 +- 13 files changed, 81 insertions(+), 10 deletions(-) create mode 100644 Models/NullDepartment.php create mode 100644 Models/NullPosition.php create mode 100644 Models/NullUnit.php diff --git a/Models/DepartmentMapper.php b/Models/DepartmentMapper.php index c422da8..bb3ddef 100644 --- a/Models/DepartmentMapper.php +++ b/Models/DepartmentMapper.php @@ -38,6 +38,10 @@ class DepartmentMapper extends DataMapperAbstract 'mapper' => UnitMapper::class, 'dest' => 'organization_department_unit', ], + 'parent' => [ + 'mapper' => DepartmentMapper::class, + 'dest' => 'organization_department_parent', + ], ]; /** diff --git a/Models/NullDepartment.php b/Models/NullDepartment.php new file mode 100644 index 0000000..f1a5008 --- /dev/null +++ b/Models/NullDepartment.php @@ -0,0 +1,19 @@ +department; } - public function setDepartment(int $department) + public function setDepartment($department) { $this->department = $department; } diff --git a/Models/PositionMapper.php b/Models/PositionMapper.php index c3cf641..7ef856c 100644 --- a/Models/PositionMapper.php +++ b/Models/PositionMapper.php @@ -35,10 +35,14 @@ class PositionMapper extends DataMapperAbstract ]; protected static $belongsTo = [ - 'account' => [ + 'parent' => [ 'mapper' => PositionMapper::class, 'dest' => 'organization_position_parent', ], + 'department' => [ + 'mapper' => DepartmentMapper::class, + 'dest' => 'organization_position_department', + ], ]; /** diff --git a/Models/UnitMapper.php b/Models/UnitMapper.php index 675294a..9dc7265 100644 --- a/Models/UnitMapper.php +++ b/Models/UnitMapper.php @@ -37,6 +37,10 @@ class UnitMapper extends DataMapperAbstract 'mapper' => UnitMapper::class, 'dest' => 'organization_uni_parent', ], + 'parent' => [ + 'mapper' => UnitMapper::class, + 'dest' => 'organization_unit_parent', + ], ]; /** diff --git a/Theme/Backend/department-list.tpl.php b/Theme/Backend/department-list.tpl.php index d3126e6..533e572 100644 --- a/Theme/Backend/department-list.tpl.php +++ b/Theme/Backend/department-list.tpl.php @@ -43,8 +43,8 @@ echo $this->getData('nav')->render(); ?> getId(), ENT_COMPAT, 'utf-8'); ?> getName(), ENT_COMPAT, 'utf-8'); ?> - getParent(), ENT_COMPAT, 'utf-8'); ?> - getUnit(), ENT_COMPAT, 'utf-8'); ?> + getParent()->getName(), ENT_COMPAT, 'utf-8'); ?> + getUnit()->getName(), ENT_COMPAT, 'utf-8'); ?> diff --git a/Theme/Backend/department-profile.tpl.php b/Theme/Backend/department-profile.tpl.php index 7e6a416..7cebe11 100644 --- a/Theme/Backend/department-profile.tpl.php +++ b/Theme/Backend/department-profile.tpl.php @@ -29,7 +29,7 @@ echo $this->getData('nav')->render(); ?> - + - + - +