From: Nik Okuntseff Date: Mon, 26 Nov 2018 14:24:53 +0000 (+0000) Subject: Added group dropdown in tasks.php page. X-Git-Tag: timetracker_1.19-1~544 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=3cd4cdb1567b3b71fec7a980a3c1a432eb3a41a2;p=timetracker.git Added group dropdown in tasks.php page. --- diff --git a/WEB-INF/lib/ttGroup.class.php b/WEB-INF/lib/ttGroup.class.php index c12be778..26f2ee6c 100644 --- a/WEB-INF/lib/ttGroup.class.php +++ b/WEB-INF/lib/ttGroup.class.php @@ -114,17 +114,6 @@ class ttGroup { if ($first_unit_threshold) $this->first_unit_threshold = $first_unit_threshold; $this->unit_totals_only = $config->getDefinedValue('unit_totals_only'); } - - // Set "on behalf" id and name (user). - if (isset($_SESSION['behalf_id'])) { - $this->behalf_id = $_SESSION['behalf_id']; - $this->behalf_name = $_SESSION['behalf_name']; - } - // Set "on behalf" id and name (group). - if (isset($_SESSION['behalf_group_id'])) { - $this->behalf_group_id = $_SESSION['behalf_group_id']; - $this->behalf_group_name = $_SESSION['behalf_group_name']; - } */ } } diff --git a/WEB-INF/lib/ttUser.class.php b/WEB-INF/lib/ttUser.class.php index 04273aa7..2da8f981 100644 --- a/WEB-INF/lib/ttUser.class.php +++ b/WEB-INF/lib/ttUser.class.php @@ -723,6 +723,7 @@ class ttUser { $this->behalf_group_name = null; $this->behalf_id = null; $this->behalf_name = null; + unset($this->behalfGroup); unset($_SESSION['behalf_group_id']); unset($_SESSION['behalf_group_name']); unset($_SESSION['behalf_id']); diff --git a/WEB-INF/templates/footer.tpl b/WEB-INF/templates/footer.tpl index 8c299c99..20cb8ff3 100644 --- a/WEB-INF/templates/footer.tpl +++ b/WEB-INF/templates/footer.tpl @@ -12,7 +12,7 @@
-
 Anuko Time Tracker 1.18.28.4521 | Copyright © Anuko | +  Anuko Time Tracker 1.18.28.4522 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve} diff --git a/WEB-INF/templates/tasks.tpl b/WEB-INF/templates/tasks.tpl index 647a6a78..9db99069 100644 --- a/WEB-INF/templates/tasks.tpl +++ b/WEB-INF/templates/tasks.tpl @@ -6,6 +6,16 @@
{if $user->can('manage_tasks')} + {if $group_dropdown} +{$forms.tasksForm.open} {* tasksForm consists only of one dropdown group control *} + + + + +
{$i18n.label.group}: {$forms.tasksForm.group.control}
+{$forms.tasksForm.close} + {/if} + {if $inactive_tasks} diff --git a/tasks.php b/tasks.php index c3903f94..6c79fd50 100644 --- a/tasks.php +++ b/tasks.php @@ -35,18 +35,50 @@ if (!(ttAccessAllowed('view_own_tasks') || ttAccessAllowed('manage_tasks'))) { header('Location: access_denied.php'); exit(); } -if (MODE_PROJECTS_AND_TASKS != $user->tracking_mode) { +if (MODE_PROJECTS_AND_TASKS != $user->getTrackingMode()) { header('Location: feature_disabled.php'); exit(); } +if ($request->isPost() && !$user->isGroupValid($request->getParameter('group'))) { + header('Location: access_denied.php'); // Wrong group id in post. + exit(); +} // End of access checks. +if ($request->isPost()) { + $group_id = $request->getParameter('group'); + $user->setOnBehalfGroup($group_id); + // Tasks feature may not be available in new group, check and redirect. + if (MODE_PROJECTS_AND_TASKS != $user->getTrackingMode()) { + header('Location: feature_disabled.php'); + exit(); + } +} else { + $group_id = $user->getGroup(); +} + +$form = new Form('tasksForm'); +if ($user->can('manage_subgroups')) { + $groups = $user->getGroupsForDropdown(); + if (count($groups) > 1) { + $form->addInput(array('type'=>'combobox', + 'onchange'=>'this.form.submit();', + 'name'=>'group', + 'style'=>'width: 250px;', + 'value'=>$group_id, + 'data'=>$groups, + 'datakeys'=>array('id','name'))); + $smarty->assign('group_dropdown', 1); + } +} + if($user->can('manage_tasks')) { - $active_tasks = ttTeamHelper::getActiveTasks($user->group_id); - $inactive_tasks = ttTeamHelper::getInactiveTasks($user->group_id); + $active_tasks = ttTeamHelper::getActiveTasks($group_id); + $inactive_tasks = ttTeamHelper::getInactiveTasks($group_id); } else $active_tasks = $user->getAssignedTasks(); +$smarty->assign('forms', array($form->getName()=>$form->toArray())); $smarty->assign('active_tasks', $active_tasks); $smarty->assign('inactive_tasks', $inactive_tasks); $smarty->assign('title', $i18n->get('title.tasks'));
{$i18n.form.tasks.active_tasks}