Added group dropdown in tasks.php page.
authorNik Okuntseff <support@anuko.com>
Mon, 26 Nov 2018 14:24:53 +0000 (14:24 +0000)
committerNik Okuntseff <support@anuko.com>
Mon, 26 Nov 2018 14:24:53 +0000 (14:24 +0000)
WEB-INF/lib/ttGroup.class.php
WEB-INF/lib/ttUser.class.php
WEB-INF/templates/footer.tpl
WEB-INF/templates/tasks.tpl
tasks.php

index c12be77..26f2ee6 100644 (file)
@@ -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'];
-      }
       */
     }
   }
index 04273aa..2da8f98 100644 (file)
@@ -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']);
index 8c299c9..20cb8ff 100644 (file)
@@ -12,7 +12,7 @@
       <br>
       <table cellspacing="0" cellpadding="4" width="100%" border="0">
         <tr>
-          <td align="center">&nbsp;Anuko Time Tracker 1.18.28.4521 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.18.28.4522 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
             <a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
             <a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
             <a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
index 647a6a7..9db9906 100644 (file)
@@ -6,6 +6,16 @@
   <tr>
     <td valign="top">
 {if $user->can('manage_tasks')}
+  {if $group_dropdown}
+{$forms.tasksForm.open} {* tasksForm consists only of one dropdown group control *}
+      <table width="100%">
+        <tr>
+          <td align="center">{$i18n.label.group}: {$forms.tasksForm.group.control}</td>
+        </tr>
+      </table>
+{$forms.tasksForm.close}
+  {/if}
+
       <table cellspacing="1" cellpadding="3" border="0" width="100%">
   {if $inactive_tasks}
         <tr><td class="sectionHeaderNoBorder">{$i18n.form.tasks.active_tasks}</td></tr>
index c3903f9..6c79fd5 100644 (file)
--- 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'));