More progress on timesheets.
authorNik Okuntseff <support@anuko.com>
Mon, 18 Feb 2019 14:19:48 +0000 (14:19 +0000)
committerNik Okuntseff <support@anuko.com>
Mon, 18 Feb 2019 14:19:48 +0000 (14:19 +0000)
35 files changed:
WEB-INF/lib/ttTimesheetHelper.class.php
WEB-INF/lib/ttUser.class.php
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 a8276b5..f7cae67 100644 (file)
@@ -78,4 +78,36 @@ class ttTimesheetHelper {
 
     return $last_id;
   }
+
+  // The getTimesheets obtains timesheets for user.
+  static function getTimesheets($user_id)
+  {
+    global $user;
+    $mdb2 = getConnection();
+
+    $group_id = $user->getGroup();
+    $org_id = $user->org_id;
+
+    // $addPaidStatus = $user->isPluginEnabled('ps');
+    $result = array();
+
+    if ($user->isClient())
+      $client_part = "and ts.client_id = $user->client_id";
+
+    $sql = "select ts.id, ts.name, ts.client_id, c.name as client_name from tt_timesheets ts".
+      " left join tt_clients c on (c.id = ts.client_id)".
+      " where ts.status = 1 and ts.group_id = $group_id and ts.org_id = $org_id and ts.user_id = $user_id".
+      " $client_part order by ts.name";
+    $res = $mdb2->query($sql);
+    $result = array();
+    if (!is_a($res, 'PEAR_Error')) {
+      $dt = new DateAndTime(DB_DATEFORMAT);
+      while ($val = $res->fetchRow()) {
+        //if ($addPaidStatus)
+        //  $val['paid'] = ttTimesheetHelper::isPaid($val['id']);
+        $result[] = $val;
+      }
+    }
+    return $result;
+  }
 }
index 5309dd8..36f9163 100644 (file)
@@ -886,9 +886,4 @@ class ttUser {
 
     return false;
   }
-
-  // getTimesheets obtains timesheets for user.
-  function getTimesheets() {
-    return null; // Not implemented.
-  }
 }
index f129c9b..2faa0a1 100644 (file)
@@ -461,6 +461,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index d722cb9..b5a5cdc 100644 (file)
@@ -471,6 +471,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 976d9f3..ba43617 100644 (file)
@@ -434,6 +434,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 6ac1c03..fc8f262 100644 (file)
@@ -412,6 +412,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 5da77cb..f65f932 100644 (file)
@@ -408,6 +408,8 @@ $i18n_key_words = array(
 
  // 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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 124bfed..3cb20b8 100644 (file)
@@ -474,6 +474,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 864fb91..c489a56 100644 (file)
@@ -437,6 +437,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 501d957..8c3907c 100644 (file)
@@ -454,6 +454,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index e400a94..647b8f5 100644 (file)
@@ -439,6 +439,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 3f411e9..d6ee165 100644 (file)
@@ -431,6 +431,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 60b312a..1d048d2 100644 (file)
@@ -421,6 +421,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 5cfe3f2..291425e 100644 (file)
@@ -461,6 +461,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 46d0bd6..ea0d736 100644 (file)
@@ -464,6 +464,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 5215f7f..b5faa5a 100644 (file)
@@ -434,6 +434,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 9c01727..5b4aad6 100644 (file)
@@ -469,6 +469,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 8d5aa44..74d3a8d 100644 (file)
@@ -467,6 +467,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 1e7146f..e4b7750 100644 (file)
@@ -408,6 +408,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 6a38cb2..b1c315e 100644 (file)
@@ -466,6 +466,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 4016791..a41c703 100644 (file)
@@ -442,6 +442,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 61f06f3..62676f9 100644 (file)
@@ -437,6 +437,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 09aa8b5..f305c28 100644 (file)
@@ -445,6 +445,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index f8d711f..1cbc409 100644 (file)
@@ -469,6 +469,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 6c172c3..0204291 100644 (file)
@@ -400,6 +400,8 @@ $i18n_key_words = array(
 
 // Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
 'form.timesheets.hint' => 'Используйте отчёты для добавления новых табелей.',
+'form.timesheets.active_timesheets' => 'Активные табели',
+'form.timesheets.inactive_timesheets' => 'Неактивные табели',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index d79db84..1ae854c 100644 (file)
@@ -452,6 +452,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index d720907..5e92e71 100644 (file)
@@ -443,6 +443,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index e5be1d8..c2b9033 100644 (file)
@@ -440,6 +440,8 @@ $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',
 
 // Forma izveštaja. Pogledajte primer na https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 75a258d..bce576a 100644 (file)
@@ -438,6 +438,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index b6b3aeb..4c8c2ad 100644 (file)
@@ -480,6 +480,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 5eb65a7..1840f7b 100644 (file)
@@ -452,6 +452,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 68e5056..f78a36f 100644 (file)
@@ -460,6 +460,8 @@ $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',
 
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
index 8e33a48..a91fdab 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.37.4734 | 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.37.4735 | 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 6260658..796f272 100644 (file)
@@ -19,8 +19,8 @@
         </tr>
         {foreach $timesheets as $timesheet}
         <tr valign="top" bgcolor="{cycle values="#f5f5f5,#ffffff"}">
-          <td>{$invoice.name|escape}</td>
-          <td>{$invoice.client_name|escape}</td>
+          <td>{$timesheet.name|escape}</td>
+          <td>{$timesheet.client_name|escape}</td>
           <td>{$invoice.date}</td>
   {if $user->isPluginEnabled('ps')}
           <td>{if $invoice.paid}{$i18n.label.yes}{else}{$i18n.label.no}{/if}</td>
index b2c64e6..4a4eb66 100644 (file)
@@ -28,7 +28,7 @@
 
 require_once('initialize.php');
 import('form.Form');
-import('ttGroupHelper');
+import('ttTimesheetHelper');
 
 // Access checks.
 if (!(ttAccessAllowed('view_own_timesheets') ||
@@ -46,7 +46,7 @@ if (!$user->isPluginEnabled('ts')) {
 }
 // End of access checks.
 
-$timesheets = $user->getTimesheets();
+$timesheets = ttTimesheetHelper::getTimesheets($user->getUser());
 
 $smarty->assign('timesheets', $timesheets);
 $smarty->assign('title', $i18n->get('title.timesheets'));