A bit more work in progress on timesheets.
authorNik Okuntseff <support@anuko.com>
Fri, 15 Feb 2019 16:26:23 +0000 (16:26 +0000)
committerNik Okuntseff <support@anuko.com>
Fri, 15 Feb 2019 16:26:23 +0000 (16:26 +0000)
34 files changed:
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 [new file with mode: 0644]
timesheets.php

index 36f9163..5309dd8 100644 (file)
@@ -886,4 +886,9 @@ class ttUser {
 
     return false;
   }
+
+  // getTimesheets obtains timesheets for user.
+  function getTimesheets() {
+    return null; // Not implemented.
+  }
 }
index 2ae15aa..1e4b299 100644 (file)
@@ -448,6 +448,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Número de factura',
index 8a698db..08480f5 100644 (file)
@@ -458,6 +458,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Faktura číslo',
index 37a33e9..5601263 100644 (file)
@@ -418,6 +418,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Fakturanummer',
index fd73ad7..8c63184 100644 (file)
@@ -396,6 +396,10 @@ $i18n_key_words = array(
 'form.report.export' => 'Exportiere',
 'form.report.assign_to_invoice' => 'Zu Rechnung hinzufügen',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Rechnungsnummer',
index 7b2ee39..ce58048 100644 (file)
@@ -397,6 +397,9 @@ $i18n_key_words = array(
 'form.report.export' => 'Export',
 '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.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Invoice number',
index 6f6c82f..53b4291 100644 (file)
@@ -461,6 +461,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Número de factura',
index 3aeaef4..70d6d44 100644 (file)
@@ -422,6 +422,10 @@ $i18n_key_words = array(
 'form.report.export' => 'Eksport',
 'form.report.assign_to_invoice' => 'Lisa arvele',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Arve number',
index ef0f326..75db180 100644 (file)
@@ -438,6 +438,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'شماره فاکتور',
index 06e6189..9aee3a2 100644 (file)
@@ -425,6 +425,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Laskun numero',
index 53dbd94..17d43b0 100644 (file)
@@ -415,6 +415,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Numéro de facture',
index 167bbda..4e82d82 100644 (file)
@@ -405,6 +405,10 @@ $i18n_key_words = array(
 'form.report.export' => 'Εξαγωγή',
 'form.report.assign_to_invoice' => 'Ανάθεση στο τιμολόγιο',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Αριθμός τιμολογίου',
index eb34027..2c4cbc0 100644 (file)
@@ -448,6 +448,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'מספר חשבונית',
index ff1e211..5dafe96 100644 (file)
@@ -451,6 +451,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Számla azonosító száma',
index 236044c..32e3b84 100644 (file)
@@ -418,6 +418,10 @@ $i18n_key_words = array(
 'form.report.export' => 'Esporta',
 'form.report.assign_to_invoice' => 'Assegna alla fattura',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Numero fattura',
index 35fb785..2574d31 100644 (file)
@@ -457,6 +457,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => '送り状の番号',
index c74aec9..4403f9f 100644 (file)
@@ -455,6 +455,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => '송장 번호',
index a461192..9c88ca0 100644 (file)
@@ -392,6 +392,10 @@ $i18n_key_words = array(
 'form.report.export' => 'Exporteer',
 'form.report.assign_to_invoice' => 'Voeg toe aan factuur',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Factuur nummer',
index 45156f8..a08aeff 100644 (file)
@@ -453,6 +453,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Fakturanummer',
index 55176d1..a1f4bfa 100644 (file)
@@ -427,6 +427,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Numer faktury',
index e6b5697..639092d 100644 (file)
@@ -422,6 +422,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Número da fatura',
index 7a794ce..fcd31a4 100644 (file)
@@ -433,6 +433,10 @@ $i18n_key_words = array(
 // 'form.report.export' => 'Export',
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 // TODO: translate the following.
index cf45565..1747b81 100644 (file)
@@ -456,6 +456,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Numar factura',
index 0202eb2..42dfc9c 100644 (file)
@@ -389,6 +389,9 @@ $i18n_key_words = array(
 'form.report.export' => 'Экспортировать',
 'form.report.assign_to_invoice' => 'Включить в счёт',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+'form.timesheets.hint' => 'Используйте отчёты для добавления новых табелей.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Номер счёта',
index 6669548..587575f 100644 (file)
@@ -439,6 +439,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Číslo faktúry',
index deba2e6..b0b2367 100644 (file)
@@ -430,6 +430,10 @@ $i18n_key_words = array(
 // 'form.report.export' => 'Export',
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 // TODO: translate the following.
index 4c40077..d5c4fff 100644 (file)
@@ -425,6 +425,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Forma izveštaja. Pogledajte primer na https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Broj računa',
index ed6a0ac..b3fc092 100644 (file)
@@ -422,6 +422,10 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Fakturanummer',
index df6f464..b857737 100644 (file)
@@ -468,6 +468,10 @@ $i18n_key_words = array(
 // 'form.report.export' => 'Export',
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => 'Fatura numarası',
index 72d0ed5..5820ab3 100644 (file)
@@ -440,6 +440,10 @@ $i18n_key_words = array(
 // 'form.report.export' => 'Export',
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => '发票号码',
index 2be5446..59ce371 100644 (file)
@@ -448,6 +448,10 @@ $i18n_key_words = array(
 // 'form.report.export' => 'Export',
 // 'form.report.assign_to_invoice' => 'Assign to invoice',
 
+// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php
+// TODO: translate the following.
+// form.timesheets.hint' => 'Use reports to add new timesheets.',
+
 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
 // (you can get to this form after generating a report).
 'form.invoice.number' => '發票號碼',
index 5ac739b..0594b17 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.4724 | 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.4725 | 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>
diff --git a/WEB-INF/templates/timesheets.tpl b/WEB-INF/templates/timesheets.tpl
new file mode 100644 (file)
index 0000000..2b7990a
--- /dev/null
@@ -0,0 +1,47 @@
+<script>
+  function chLocation(newLocation) { document.location = newLocation; }
+</script>
+
+<table cellspacing="0" cellpadding="7" border="0" width="720">
+  <tr>
+    <td valign="top">
+{if $user->can('manage_invoices') || $user->can('view_own_invoices')}
+      <table cellspacing="1" cellpadding="3" border="0" width="100%">
+        <tr><td colspan="2">{$i18n.form.timesheets.hint}<br></td></tr>
+        <tr>
+          <td class="tableHeader">{$i18n.label.invoice}</td>
+          <td class="tableHeader">{$i18n.label.client}</td>
+          <td class="tableHeader">{$i18n.label.date}</td>
+  {if $user->isPluginEnabled('ps')}
+          <td class="tableHeader">{$i18n.label.paid}</td>
+  {/if}
+          <td class="tableHeader">{$i18n.label.view}</td>
+  {if !$user->isClient()}
+          <td class="tableHeader">{$i18n.label.delete}</td>
+  {/if}
+        </tr>
+        {foreach $invoices as $invoice}
+        <tr valign="top" bgcolor="{cycle values="#f5f5f5,#ffffff"}">
+          <td>{$invoice.name|escape}</td>
+          <td>{$invoice.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>
+  {/if}
+          <td><a href="invoice_view.php?id={$invoice.id}">{$i18n.label.view}</a></td>
+  {if !$user->isClient()}
+          <td><a href="invoice_delete.php?id={$invoice.id}">{$i18n.label.delete}</a></td>
+  {/if}
+        </tr>
+        {/foreach}
+      </table>
+
+  {if !$user->isClient()}
+      <table width="100%">
+        <tr><td align="center"><br><form><input type="button" onclick="chLocation('invoice_add.php');" value="{$i18n.button.add}"></form></td></tr>
+      </table>
+  {/if}
+{/if}
+    </td>
+  </tr>
+</table>
index fb513be..b2c64e6 100644 (file)
@@ -40,15 +40,15 @@ if (!(ttAccessAllowed('view_own_timesheets') ||
   exit();
 }
 
-if (!$user->isPluginEnabled('ts_NEVER_ENABLED')) { // Work in progress...
+if (!$user->isPluginEnabled('ts')) {
   header('Location: feature_disabled.php');
   exit();
 }
 // End of access checks.
 
-//$invoices = ttGroupHelper::getActiveInvoices();
+$timesheets = $user->getTimesheets();
 
-//$smarty->assign('invoices', $invoices);
+$smarty->assign('timesheets', $timesheets);
 $smarty->assign('title', $i18n->get('title.timesheets'));
-$smarty->assign('content_page_name', 'invoices.tpl'); // TODO: fix this, too.
+$smarty->assign('content_page_name', 'timesheets.tpl');
 $smarty->display('index.tpl');