A bit of cleanup with ongoing timesheet redesign.
authorNik Okuntseff <support@anuko.com>
Wed, 27 Feb 2019 21:02:28 +0000 (21:02 +0000)
committerNik Okuntseff <support@anuko.com>
Wed, 27 Feb 2019 21:02:28 +0000 (21:02 +0000)
33 files changed:
WEB-INF/resources/ca.lang.php
WEB-INF/resources/cs.lang.php
WEB-INF/resources/da.lang.php
WEB-INF/resources/de.lang.php
WEB-INF/resources/en.lang.php
WEB-INF/resources/es.lang.php
WEB-INF/resources/et.lang.php
WEB-INF/resources/fa.lang.php
WEB-INF/resources/fi.lang.php
WEB-INF/resources/fr.lang.php
WEB-INF/resources/gr.lang.php
WEB-INF/resources/he.lang.php
WEB-INF/resources/hu.lang.php
WEB-INF/resources/it.lang.php
WEB-INF/resources/ja.lang.php
WEB-INF/resources/ko.lang.php
WEB-INF/resources/nl.lang.php
WEB-INF/resources/no.lang.php
WEB-INF/resources/pl.lang.php
WEB-INF/resources/pt-br.lang.php
WEB-INF/resources/pt.lang.php
WEB-INF/resources/ro.lang.php
WEB-INF/resources/ru.lang.php
WEB-INF/resources/sk.lang.php
WEB-INF/resources/sl.lang.php
WEB-INF/resources/sr.lang.php
WEB-INF/resources/sv.lang.php
WEB-INF/resources/tr.lang.php
WEB-INF/resources/zh-cn.lang.php
WEB-INF/resources/zh-tw.lang.php
WEB-INF/templates/footer.tpl
WEB-INF/templates/timesheets.tpl
timesheets.php

index 2934717..d4d24c7 100644 (file)
@@ -467,7 +467,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index c85cb68..2ca15cc 100644 (file)
@@ -477,7 +477,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 3dfb41c..de4813f 100644 (file)
@@ -441,7 +441,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index c787f6d..a14e345 100644 (file)
@@ -420,7 +420,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 5c91c3e..b6f0054 100644 (file)
@@ -415,7 +415,6 @@ $i18n_key_words = array(
 'form.report.assign_to_invoice' => 'Assign to invoice',
 
  // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
-'form.timesheets.hint' => 'Use reports to add new timesheets.',
 'form.timesheets.active_timesheets' => 'Active Timesheets',
 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index c867417..99c4431 100644 (file)
@@ -480,7 +480,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 7f2fe8e..4f40c7e 100644 (file)
@@ -445,7 +445,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index fdbcdba..566b508 100644 (file)
@@ -461,7 +461,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index bc66a22..226e849 100644 (file)
@@ -446,7 +446,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 840f855..a90cc04 100644 (file)
@@ -438,7 +438,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 2ebdaa8..7257a33 100644 (file)
@@ -429,7 +429,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index cac16e9..47c06c8 100644 (file)
@@ -468,7 +468,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index f4d5dd1..bd699ac 100644 (file)
@@ -470,7 +470,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 3d898e2..351c1cd 100644 (file)
@@ -442,7 +442,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 7f1a841..53f1c50 100644 (file)
@@ -475,7 +475,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index c5b7e0a..d8da0d8 100644 (file)
@@ -473,7 +473,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 7307ec4..848e0f3 100644 (file)
@@ -416,7 +416,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index a050711..1474cac 100644 (file)
@@ -472,7 +472,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 28e8a0a..94a094e 100644 (file)
@@ -449,7 +449,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 74e5822..a10fe4c 100644 (file)
@@ -444,7 +444,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index e1e6b29..9da1e35 100644 (file)
@@ -451,7 +451,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index cf701cf..70fc0ac 100644 (file)
@@ -475,7 +475,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 2fec5db..6c1daa2 100644 (file)
@@ -406,7 +406,6 @@ $i18n_key_words = array(
 'form.report.assign_to_invoice' => 'Включить в счёт',
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
-'form.timesheets.hint' => 'Используйте отчёты для добавления новых табелей.',
 'form.timesheets.active_timesheets' => 'Активные табели',
 'form.timesheets.inactive_timesheets' => 'Неактивные табели',
 
index 08999f1..a1253d9 100644 (file)
@@ -458,7 +458,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 95d3f85..68e2df6 100644 (file)
@@ -449,7 +449,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 170e540..8976bda 100644 (file)
@@ -447,7 +447,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index be3f4f2..715481d 100644 (file)
@@ -445,7 +445,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index e30ddf0..eb92614 100644 (file)
@@ -486,7 +486,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 05fa7a8..d31db32 100644 (file)
@@ -458,7 +458,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 760e9ac..ca0dad5 100644 (file)
@@ -466,7 +466,6 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 // TODO: translate the following.
-// form.timesheets.hint' => 'Use reports to add new timesheets.',
 // 'form.timesheets.active_timesheets' => 'Active Timesheets',
 // 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets',
 
index 25f41de..5b3b25e 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.46.4790 | 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.46.4791 | 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 f9b89d7..af65d14 100644 (file)
@@ -4,9 +4,6 @@
 
 {$forms.timesheetsForm.open}
 <table cellspacing="0" cellpadding="7" border="0" width="720">
-{if $not_client}
-  <tr><td align="left">{$i18n.form.timesheets.hint}<br></td></tr>
-{/if}
 {if $user_dropdown}
   <tr><td align="center">{$i18n.label.user}: {$forms.timesheetsForm.user.control}</td></tr>
 {/if}
index 546a7b6..cc43f0d 100644 (file)
@@ -41,48 +41,38 @@ if (!$user->isPluginEnabled('ts')) {
   exit();
 }
 if ($user->isClient()) {
-  $users_for_client = ttGroupHelper::getUsersForClient($user->client_id);
-  if (count($users_for_client) == 0) {
-    header('Location: access_denied.php'); // There are no users for client.
-    exit();
-  }
+  header('Location: access_denied.php'); // No timesheets for clients.
+  exit();
 }
 if ($request->isPost()) {
-  $userChanged = $request->getParameter('user_changed');
-  if ($userChanged && !(ttTimesheetHelper::isUserValid($request->getParameter('user')))) {
-    header('Location: access_denied.php'); // Wrong user id.
+  $userChanged = $request->getParameter('user_changed'); // Reused in multiple places below.
+  if ($userChanged && !($user->can('view_timesheets') && $user->isUserValid($request->getParameter('user')))) {
+    header('Location: access_denied.php'); // Group changed, but no rght or wrong user id. TODO: research relevance of this...
     exit();
   }
 }
 // End of access checks.
 
-// Determine user for whom we display this page.
-$notClient = !$user->isClient();
+// Determine user for which we display this page.
 if ($request->isPost() && $userChanged) {
   $user_id = $request->getParameter('user');
+  $user->setOnBehalfUser($user_id);
 } else {
-  if ($notClient)
-    $user_id = $user->getUser();
-  else
-    $user_id = $users_for_client[0]['id']; // First found user for a client.
+  $user_id = $user->getUser();
 }
+
 $group_id = $user->getGroup();
 
 // Elements of timesheetsForm.
 $form = new Form('timesheetsForm');
 
 if ($user->can('view_timesheets') || $user->can('view_all_timesheets')) {
-  // Prepare user list for dropdown.
-  if ($notClient) {
-    $rank = $user->can('view_all_timesheets') ? MAX_RANK : $user->getMaxRankForGroup($group_id);
-    if ($user->can('view_own_timesheets'))
-      $options = array('max_rank'=>$rank,'include_self'=>true,'self_first'=>true);
-    else
-      $options = array('max_rank'=>$rank);
-    $user_list = $user->getUsers($options);
-  } else
-    $user_list = $users_for_client; // Obtained above.
-
+  $rank = $user->getMaxRankForGroup($group_id);
+  if ($user->can('view_own_timesheets'))
+    $options = array('status'=>ACTIVE,'max_rank'=>$rank,'include_self'=>true,'self_first'=>true);
+  else
+    $options = array('status'=>ACTIVE,'max_rank'=>$rank);
+  $user_list = $user->getUsers($options);
   if (count($user_list) >= 1) {
     $form->addInput(array('type'=>'combobox',
       'onchange'=>'document.timesheetsForm.user_changed.value=1;document.timesheetsForm.submit();',
@@ -97,17 +87,14 @@ if ($user->can('view_timesheets') || $user->can('view_all_timesheets')) {
 }
 
 $active_timesheets = ttTimesheetHelper::getActiveTimesheets($user_id);
-if ($notClient)
-  $inactive_timesheets = ttTimesheetHelper::getInactiveTimesheets($user_id);
+$inactive_timesheets = ttTimesheetHelper::getInactiveTimesheets($user_id);
 
-$showClient = $user->isPluginEnabled('cl') && $notClient;
-$canEdit = $notClient && ($user->can('manage_own_timesheets') ||
-  $user->can('manage_timesheets') || $user->can('manage_all_timesheets'));
+$showClient = $user->isPluginEnabled('cl');
+$canEdit = $user->can('manage_own_timesheets') || $user->can('manage_timesheets') || $user->can('manage_all_timesheets');
 
 $smarty->assign('active_timesheets', $active_timesheets);
 $smarty->assign('inactive_timesheets', $inactive_timesheets);
 $smarty->assign('show_client', $showClient);
-$smarty->assign('not_client', $notClient);
 $smarty->assign('can_edit', $canEdit);
 $smarty->assign('forms', array($form->getName()=>$form->toArray()));
 $smarty->assign('title', $i18n->get('title.timesheets'));