Added template selector on mobile pages.
authorNik Okuntseff <support@anuko.com>
Sat, 9 Mar 2019 16:01:12 +0000 (16:01 +0000)
committerNik Okuntseff <support@anuko.com>
Sat, 9 Mar 2019 16:01:12 +0000 (16:01 +0000)
WEB-INF/templates/footer.tpl
WEB-INF/templates/mobile/time.tpl
WEB-INF/templates/mobile/time_edit.tpl
mobile/time.php
mobile/time_edit.php

index 29660bf..5c320f1 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.56.4850 | 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.56.4851 | 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 a342c76..7fea177 100644 (file)
     <tr><td>{$i18n.label.duration}:</td></tr>
     <tr><td>{$forms.timeRecordForm.duration.control}</td></tr>
 {/if}
+{if $template_dropdown}
+    <tr><td>{$i18n.label.template}:</td></tr>
+    <tr><td>{$forms.timeRecordForm.template.control}</td></tr>
+{/if}
 
     <tr><td>{$i18n.label.note}:</td></tr>
     <tr><td>{$forms.timeRecordForm.note.control}</td></tr>
index 79c5c03..472d0dd 100644 (file)
@@ -53,6 +53,10 @@ function confirmSave() {
 {/if}
     <tr><td>{$i18n.label.date}:</td></tr>
     <tr><td>{$forms.timeRecordForm.date.control}</td></tr>
+{if $template_dropdown}
+    <tr><td>{$i18n.label.template}:</td></tr>
+    <tr><td>{$forms.timeRecordForm.template.control}</td></tr>
+{/if}
     <tr><td>{$i18n.label.note}:</td></tr>
     <tr><td>{$forms.timeRecordForm.note.control}</td></tr>
     <tr><td align="center">{$forms.timeRecordForm.btn_save.control} {$forms.timeRecordForm.btn_copy.control} {$forms.timeRecordForm.btn_delete.control}</td></tr>
index fe723da..b9ee3bc 100644 (file)
@@ -228,6 +228,22 @@ if ($custom_fields && $custom_fields->fields[0]) {
   }
 }
 
+// If we have templates, add a dropdown to select one.
+if ($user->isPluginEnabled('tp')){
+  $templates = ttGroupHelper::getActiveTemplates();
+  if (count($templates) >= 1) {
+    $form->addInput(array('type'=>'combobox',
+      'onchange'=>'fillNote(this.value);',
+      'name'=>'template',
+      'style'=>'width: 250px;',
+      'data'=>$templates,
+      'datakeys'=>array('id','name'),
+      'empty'=>array(''=>$i18n->get('dropdown.select'))));
+    $smarty->assign('template_dropdown', 1);
+    $smarty->assign('templates', $templates);
+  }
+}
+
 // Submit.
 if ($request->isPost()) {
   if ($request->getParameter('btn_submit')) {
@@ -267,6 +283,10 @@ if ($request->isPost()) {
         $err->add($i18n->get('error.field'), $i18n->get('label.duration'));
     }
     if (!ttValidString($cl_note, true)) $err->add($i18n->get('error.field'), $i18n->get('label.note'));
+    if ($user->isPluginEnabled('tp') && strpos($cl_note, '%req%') !== false) {
+      // A %req% element is found in note. They have to be replaced by user.
+      $err->add($i18n->get('error.field'), $i18n->get('label.note'));
+    }
     if (!ttTimeHelper::canAdd()) $err->add($i18n->get('error.expired'));
     // Finished validating user input.
 
index e81f693..c3699d5 100644 (file)
@@ -188,6 +188,7 @@ if ((TYPE_DURATION == $user->record_type) || (TYPE_ALL == $user->record_type))
   $form->addInput(array('type'=>'text','name'=>'duration','value'=>$cl_duration,'onchange'=>"formDisable('duration');"));
 $form->addInput(array('type'=>'datefield','name'=>'date','maxlength'=>'20','value'=>$cl_date));
 $form->addInput(array('type'=>'textarea','name'=>'note','class'=>'mobile-textarea','value'=>$cl_note));
+
 // If we have custom fields - add controls for them.
 if ($custom_fields && $custom_fields->fields[0]) {
   // Only one custom field is supported at this time.
@@ -202,6 +203,23 @@ if ($custom_fields && $custom_fields->fields[0]) {
       'empty' => array('' => $i18n->get('dropdown.select'))));
   }
 }
+
+// If we have templates, add a dropdown to select one.
+if ($user->isPluginEnabled('tp')){
+  $templates = ttGroupHelper::getActiveTemplates();
+  if (count($templates) >= 1) {
+    $form->addInput(array('type'=>'combobox',
+      'onchange'=>'fillNote(this.value);',
+      'name'=>'template',
+      'style'=>'width: 250px;',
+      'data'=>$templates,
+      'datakeys'=>array('id','name'),
+      'empty'=>array(''=>$i18n->get('dropdown.select'))));
+    $smarty->assign('template_dropdown', 1);
+    $smarty->assign('templates', $templates);
+  }
+}
+
 // Hidden control for record id.
 $form->addInput(array('type'=>'hidden','name'=>'id','value'=>$cl_id));
 if ($user->isPluginEnabled('iv'))
@@ -253,6 +271,10 @@ if ($request->isPost()) {
   }
   if (!ttValidDate($cl_date)) $err->add($i18n->get('error.field'), $i18n->get('label.date'));
   if (!ttValidString($cl_note, true)) $err->add($i18n->get('error.field'), $i18n->get('label.note'));
+  if ($user->isPluginEnabled('tp') && strpos($cl_note, '%req%') !== false) {
+    // A %req% element is found in note. They have to be replaced by user.
+    $err->add($i18n->get('error.field'), $i18n->get('label.note'));
+  }
   if (!ttTimeHelper::canAdd()) $err->add($i18n->get('error.expired'));
   // Finished validating user input.