Added missing declarations for better JavaScript.
[timetracker.git] / WEB-INF / templates / time.tpl
index 80b111b..6c3fe2a 100644 (file)
@@ -9,37 +9,37 @@
 // task_names[100] = "Coding";            // Task name.
 
 // Prepare an array of project ids for clients.
-project_ids = new Array();
+var project_ids = new Array();
 {foreach $client_list as $client}
   project_ids[{$client.id}] = "{$client.projects}";
 {/foreach}
 // Prepare an array of project names.
-project_names = new Array();
+var project_names = new Array();
 {foreach $project_list as $project}
   project_names[{$project.id}] = "{$project.name|escape:'javascript'}";
 {/foreach}
 // We'll use this array to populate project dropdown when client is not selected.
 var idx = 0;
-projects = new Array();
+var projects = new Array();
 {foreach $project_list as $project}
   projects[idx] = new Array("{$project.id}", "{$project.name|escape:'javascript'}");
   idx++;
 {/foreach}
 
 // Prepare an array of task ids for projects.
-task_ids = new Array();
+var task_ids = new Array();
 {foreach $project_list as $project}
   task_ids[{$project.id}] = "{$project.tasks}";
 {/foreach}
 // Prepare an array of task names.
-task_names = new Array();
+var task_names = new Array();
 {foreach $task_list as $task}
   task_names[{$task.id}] = "{$task.name|escape:'javascript'}";
 {/foreach}
 
 // Mandatory top options for project and task dropdowns.
-empty_label_project = '{$i18n.dropdown.select|escape:'javascript'}';
-empty_label_task = '{$i18n.dropdown.select|escape:'javascript'}';
+var empty_label_project = '{$i18n.dropdown.select|escape:'javascript'}';
+var empty_label_task = '{$i18n.dropdown.select|escape:'javascript'}';
 
 // The fillDropdowns function populates the "project" and "task" dropdown controls
 // with relevant values.
@@ -142,39 +142,40 @@ function fillTaskDropdown(id) {
 
 // The formDisable function disables some fields depending on what we have in other fields.
 function formDisable(formField) {
-  formFieldValue = eval("document.timeRecordForm." + formField + ".value");
-  formFieldName = eval("document.timeRecordForm." + formField + ".name");
+  var formFieldValue = eval("document.timeRecordForm." + formField + ".value");
+  var formFieldName = eval("document.timeRecordForm." + formField + ".name");
+  var x;
 
   if (((formFieldValue != "") && (formFieldName == "start")) || ((formFieldValue != "") && (formFieldName == "finish"))) {
-    var x = eval("document.timeRecordForm.duration");
+    x = eval("document.timeRecordForm.duration");
     x.value = "";
     x.disabled = true;
     x.style.background = "#e9e9e9";
   }
 
   if (((formFieldValue == "") && (formFieldName == "start") && (document.timeRecordForm.finish.value == "")) || ((formFieldValue == "") && (formFieldName == "finish") && (document.timeRecordForm.start.value == ""))) {
-    var x = eval("document.timeRecordForm.duration");
+    x = eval("document.timeRecordForm.duration");
     x.value = "";
     x.disabled = false;
     x.style.background = "white";
   }
 
   if ((formFieldValue != "") && (formFieldName == "duration")) {
-    var x = eval("document.timeRecordForm.start");
+    x = eval("document.timeRecordForm.start");
     x.value = "";
     x.disabled = true;
     x.style.background = "#e9e9e9";
-    var x = eval("document.timeRecordForm.finish");
+    x = eval("document.timeRecordForm.finish");
     x.value = "";
     x.disabled = true;
     x.style.background = "#e9e9e9";
   }
 
   if ((formFieldValue == "") && (formFieldName == "duration")) {
-    var x = eval("document.timeRecordForm.start");
+    x = eval("document.timeRecordForm.start");
     x.disabled = false;
     x.style.background = "white";
-    var x = eval("document.timeRecordForm.finish");
+    x = eval("document.timeRecordForm.finish");
     x.disabled = false;
     x.style.background = "white";
   }
@@ -185,7 +186,7 @@ function setNow(formField) {
   var x = eval("document.timeRecordForm.start");
   x.disabled = false;
   x.style.background = "white";
-  var x = eval("document.timeRecordForm.finish");
+  x = eval("document.timeRecordForm.finish");
   x.disabled = false;
   x.style.background = "white";
   var today = new Date();
@@ -237,7 +238,7 @@ function get_time() {
 {/if}
 {if ($custom_fields && $custom_fields->fields[0])}
         <tr>
-          <td align="right">{$custom_fields->fields[0]['label']|escape:'html'}{if $custom_fields->fields[0]['required']} (*){/if}:</td><td>{$forms.timeRecordForm.cf_1.control}</td>
+          <td align="right">{$custom_fields->fields[0]['label']|escape}{if $custom_fields->fields[0]['required']} (*){/if}:</td><td>{$forms.timeRecordForm.cf_1.control}</td>
         </tr>
 {/if}
 {if ($smarty.const.MODE_PROJECTS == $user->tracking_mode || $smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
@@ -248,7 +249,7 @@ function get_time() {
 {/if}
 {if ($smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
         <tr>
-          <td align="right">{$i18n.label.task} (*):</td>
+          <td align="right">{$i18n.label.task}:</td>
           <td>{$forms.timeRecordForm.task.control}</td>
         </tr>
 {/if}
@@ -292,7 +293,7 @@ function get_time() {
 <tr>
   <td valign="top">
 {if $time_records}
-      <table border='0' cellpadding='3' cellspacing='1' width="100%">
+      <table border="0" cellpadding="3" cellspacing="1" width="100%">
       <tr>
   {if $user->isPluginEnabled('cl')}
         <td width="20%" class="tableHeader">{$i18n.label.client}</td>
@@ -304,8 +305,8 @@ function get_time() {
         <td class="tableHeader">{$i18n.label.task}</td>
   {/if}
   {if (($smarty.const.TYPE_START_FINISH == $user->record_type) || ($smarty.const.TYPE_ALL == $user->record_type))}
-        <td width="5%" class="tableHeader" align='right'>{$i18n.label.start}</td>
-        <td width="5%" class="tableHeader" align='right'>{$i18n.label.finish}</td>
+        <td width="5%" class="tableHeader" align="right">{$i18n.label.start}</td>
+        <td width="5%" class="tableHeader" align="right">{$i18n.label.finish}</td>
   {/if}
         <td width="5%" class="tableHeader">{$i18n.label.duration}</td>
         <td class="tableHeader">{$i18n.label.note}</td>
@@ -314,30 +315,30 @@ function get_time() {
   {foreach $time_records as $record}
       <tr bgcolor="{cycle values="#f5f5f5,#ccccce"}" {if !$record.billable} class="not_billable" {/if}>
     {if $user->isPluginEnabled('cl')}
-        <td valign='top'>{$record.client|escape:'html'}</td>
+        <td valign="top">{$record.client|escape}</td>
     {/if}
     {if ($smarty.const.MODE_PROJECTS == $user->tracking_mode || $smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
-        <td valign='top'>{$record.project|escape:'html'}</td>
+        <td valign="top">{$record.project|escape}</td>
     {/if}
     {if ($smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
-        <td valign='top'>{$record.task|escape:'html'}</td>
+        <td valign="top">{$record.task|escape}</td>
     {/if}
     {if (($smarty.const.TYPE_START_FINISH == $user->record_type) || ($smarty.const.TYPE_ALL == $user->record_type))}
-        <td nowrap align='right' valign='top'>{if $record.start}{$record.start}{else}&nbsp;{/if}</td>
-        <td nowrap align='right' valign='top'>{if $record.finish}{$record.finish}{else}&nbsp;{/if}</td>
+        <td nowrap align="right" valign="top">{if $record.start}{$record.start}{else}&nbsp;{/if}</td>
+        <td nowrap align="right" valign="top">{if $record.finish}{$record.finish}{else}&nbsp;{/if}</td>
     {/if}
-        <td align='right' valign='top'>{if $record.duration <> '0:00'}{$record.duration}{else}<font color="#ff0000">{$i18n.form.time.uncompleted}</font>{/if}</td>
-        <td valign='top'>{if $record.comment}{$record.comment|escape:'html'}{else}&nbsp;{/if}</td>
-        <td valign='top' align='center'>
+        <td align="right" valign="top">{if ($record.duration == '0:00' && $record.start <> '')}<font color="#ff0000">{$i18n.form.time.uncompleted}</font>{else}{$record.duration}{/if}</td>
+        <td valign="top">{if $record.comment}{$record.comment|escape}{else}&nbsp;{/if}</td>
+        <td valign="top" align="center">
     {if $record.invoice_id}
           &nbsp;
     {else}
-          <a href='time_edit.php?id={$record.id}'>{$i18n.label.edit}</a>
-      {if $record.duration == '0:00'}
-          <input type='hidden' name='record_id' value='{$record.id}'>
-          <input type='hidden' name='browser_date' value=''>
-          <input type='hidden' name='browser_time' value=''>
-          <input type='submit' id='btn_stop' name='btn_stop' onclick='browser_date.value=get_date();browser_time.value=get_time()' value='{$i18n.button.stop}'>
+          <a href="time_edit.php?id={$record.id}">{$i18n.label.edit}</a>
+      {if ($record.duration == '0:00' && $record.start <> '')}
+          <input type="hidden" name="record_id" value="{$record.id}">
+          <input type="hidden" name="browser_date" value="">
+          <input type="hidden" name="browser_time" value="">
+          <input type="submit" id="btn_stop" name="btn_stop" onclick="browser_date.value=get_date();browser_time.value=get_time()" value="{$i18n.button.stop}">
       {/if}
     {/if}
         </td>
@@ -354,6 +355,16 @@ function get_time() {
     <td align="left">{$i18n.label.week_total}: {$week_total}</td>
     <td align="right">{$i18n.label.day_total}: {$day_total}</td>
   </tr>
+  {if $user->isPluginEnabled('mq')}
+  <tr>
+    <td align="left">{$i18n.label.month_total}: {$month_total}</td>
+    {if $over_quota}
+    <td align="right">{$i18n.form.time.over_quota}: <span style="color: green;">{$quota_remaining}</span></td>
+    {else}
+    <td align="right">{$i18n.form.time.remaining_quota}: <span style="color: red;">{$quota_remaining}</span></td>
+    {/if}
+  </tr>
+  {/if}
 </table>
 {/if}
 {$forms.timeRecordForm.close}