From 62fec13e3f0a179dd84c5c769b7c968d34612554 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Wed, 9 Mar 2016 23:11:51 +0100 Subject: [PATCH] Doc + Mapper::class implementation --- Controller.php | 3 +++ Models/Employee.php | 4 ++++ Models/EmployeeHistory.php | 0 Models/EmployeeHistoryMapper.php | 0 Models/EmployeeMapper.php | 20 ++++++++++++++------ Theme/backend/staff-list.tpl.php | 26 ++++++++++++++------------ 6 files changed, 35 insertions(+), 18 deletions(-) create mode 100644 Models/EmployeeHistory.php create mode 100644 Models/EmployeeHistoryMapper.php diff --git a/Controller.php b/Controller.php index e007bc1..466c160 100644 --- a/Controller.php +++ b/Controller.php @@ -117,6 +117,9 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/staff-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002402001, $request, $response)); + $mapper = new EmployeeMapper($this->app->dbPool()->get()); + $view->setData('employees', $mapper->getAll()); + return $view; } diff --git a/Models/Employee.php b/Models/Employee.php index 35d1fdb..4ebd846 100644 --- a/Models/Employee.php +++ b/Models/Employee.php @@ -40,6 +40,10 @@ class Employee { private $account = null; + private $history = []; + + private $status = []; + public function setAccount(Account $account) { $this->account = $account; diff --git a/Models/EmployeeHistory.php b/Models/EmployeeHistory.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/EmployeeHistoryMapper.php b/Models/EmployeeHistoryMapper.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/EmployeeMapper.php b/Models/EmployeeMapper.php index 973f439..a9b4898 100644 --- a/Models/EmployeeMapper.php +++ b/Models/EmployeeMapper.php @@ -33,17 +33,25 @@ class EmployeeMapper protected static $ownsOne = [ 'account' => [ - 'mapper' => '\Modules\Admin\Models\AccountMapper', + 'mapper' => \Modules\Admin\Models\AccountMapper::class, 'src' => 'hr_staff', ], ]; protected static $hasMany = [ - 'position' => [ - 'mapper' => '', - 'table' => '', - 'src' => '', - 'dst' => '', + 'history' => [ + 'mapper' => \Modules\HumanResourceManagement\Models\EmployeeHistoryMapper::class, + 'relationmapper' => \Modules\HumanResourceManagement\Models\EmployeeHistoryMapper::class, + 'table' => 'hr_history', + 'src' => 'hr_history_staff', + 'dst' => null, + ], + 'status' => [ + 'mapper' => \Modules\HumanResourceManagement\Models\EmployeeStatus::class, + 'relationmapper' => \Modules\HumanResourceManagement\Models\EmployeeStatus::class, + 'table' => 'hr_status', + 'src' => 'hr_status_staff', + 'dst' => null, ], ]; diff --git a/Theme/backend/staff-list.tpl.php b/Theme/backend/staff-list.tpl.php index 601945b..77049c0 100644 --- a/Theme/backend/staff-list.tpl.php +++ b/Theme/backend/staff-list.tpl.php @@ -24,6 +24,8 @@ $footerView->setPages(1 / 25); $footerView->setPage(1); $footerView->setResults(1); +$employees = $this->getData('employees'); + echo $this->getData('nav')->render(); ?>
@@ -33,22 +35,22 @@ echo $this->getData('nav')->render(); ?> l11n->lang[0]['ID']; ?> l11n->lang['HumanResourceManagement']['Name']; ?> + l11n->lang['HumanResourceManagement']['Position']; ?> l11n->lang['HumanResourceManagement']['Department']; ?> l11n->lang['HumanResourceManagement']['Status']; ?> render(); ?> - $value) : $c++; - $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?> - - getId(); ?> - getName(); ?> - - - - - - l11n->lang[0]['Empty']; ?> - + $value) : $c++; + $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?> + + getId(); ?> + getNewestHistory()->getPosition(); ?> + getNewestHistory()->getPosition(); ?> + getNewestStatus()->getStatus(); ?> + + + l11n->lang[0]['Empty']; ?> +