diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 10c6b61..618ed09 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -16,6 +16,7 @@ namespace Modules\HumanResourceTimeRecording\Controller; use Modules\Dashboard\Models\DashboardElementInterface; use Modules\HumanResourceManagement\Models\EmployeeMapper; +use Modules\HumanResourceTimeRecording\Models\ClockingTypeMapper; use Modules\HumanResourceTimeRecording\Models\NullSession; use Modules\HumanResourceTimeRecording\Models\SessionMapper; use phpOMS\Contract\RenderableInterface; @@ -61,6 +62,11 @@ final class BackendController extends Controller implements DashboardElementInte $view->data['sessions'] = $sessions; + $view->data['session_types'] = ClockingTypeMapper::getAll() + ->with('l11n') + ->where('l11n/language', $response->header->l11n->language) + ->executeGetArray(); + $view->data['employees'] = EmployeeMapper::getAll() ->with('profile') ->with('profile/account') diff --git a/Models/SessionMapper.php b/Models/SessionMapper.php index cb585b0..9b44971 100755 --- a/Models/SessionMapper.php +++ b/Models/SessionMapper.php @@ -17,6 +17,7 @@ namespace Modules\HumanResourceTimeRecording\Models; use Modules\Admin\Models\AccountMapper; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\DataStorage\Database\Query\Builder; +use phpOMS\DataStorage\Database\Query\ColumnName; use phpOMS\Stdlib\Base\SmartDateTime; /** @@ -124,6 +125,7 @@ final class SessionMapper extends DataMapperFactory */ public static function getLastSessionsFromAllEmployees() : array { + /* $join = new Builder(self::$db); $join->select(self::TABLE . '.hr_timerecording_session_employee') ->selectAs('MAX(hr_timerecording_session_start)', 'maxDate') @@ -134,6 +136,16 @@ final class SessionMapper extends DataMapperFactory $query->leftJoin($join, 'tm') ->on(self::TABLE . '_d1.hr_timerecording_session_employee', '=', 'tm.hr_timerecording_session_employee') ->andOn(self::TABLE . '_d1.hr_timerecording_session_start', '=', 'tm.maxDate'); + */ + + // @bug How to handle multiple start values in the same day + $subquery = new Builder(self::$db); + $subquery->select('MAX(t2.hr_timerecording_session_start)') + ->fromAs(self::TABLE, 't2') + ->where('t2.hr_timerecording_session_employee', '=', new ColumnName(self::TABLE . '_d1.hr_timerecording_session_employee')); + + $query = self::getQuery(); + $query->where(self::TABLE . '_d1.hr_timerecording_session_start', '=', $subquery); return self::getAll() ->executeGetArray($query); diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php index e606920..f93dd6a 100755 --- a/Theme/Backend/Lang/en.lang.php +++ b/Theme/Backend/Lang/en.lang.php @@ -18,13 +18,6 @@ return ['HumanResourceTimeRecording' => [ ':CS2' => 'Pause', ':CS3' => 'Continue', ':CS4' => 'End', - ':CT1' => 'Office', - ':CT2' => 'Home', - ':CT3' => 'Remote', - ':CT4' => 'Vacation', - ':CT5' => 'Sick', - ':CT6' => 'On the move', - ':CT-1' => 'No data', ':D0' => 'Sunday', ':D1' => 'Monday', ':D2' => 'Tuesday', diff --git a/Theme/Backend/dashboard.tpl.php b/Theme/Backend/dashboard.tpl.php index f45558c..936bfb1 100755 --- a/Theme/Backend/dashboard.tpl.php +++ b/Theme/Backend/dashboard.tpl.php @@ -43,7 +43,13 @@ echo $this->data['nav']->render(); ?> ?>