empty_label_project = '{$i18n.dropdown.select|escape:'javascript'}';
empty_label_task = '{$i18n.dropdown.select|escape:'javascript'}';
-// The populateDropdowns function populates the "project" and "task" dropdown controls
+// The fillDropdowns function populates the "project" and "task" dropdown controls
// with relevant values.
function fillDropdowns() {
if(document.body.contains(document.timeRecordForm.client))
}
// The fillProjectDropdown function populates the project combo box with
-// projects associated with a selected client (client id is passed here as id).
+// projects associated with a selected client (client id is passed here as id).
function fillProjectDropdown(id) {
var str_ids = project_ids[id];
var dropdown = document.getElementById("project");
// Populate project dropdown.
if (!id) {
// If we are here, client is not selected.
- var len = projects.length;
+ var len = projects.length;
for (var i = 0; i < len; i++) {
dropdown.options[i+1] = new Option(projects[i][1], projects[i][0]);
if (dropdown.options[i+1].value == selected_item) {
}
// The fillTaskDropdown function populates the task combo box with
-// tasks associated with a selected project (project id is passed here as id).
+// tasks associated with a selected project (project id is passed here as id).
function fillTaskDropdown(id) {
var str_ids = task_ids[id];
var dropdown = document.getElementById("task");
if (dropdown == null) return; // Nothing to do.
-
+
// Determine previously selected item.
var selected_item = dropdown.options[dropdown.selectedIndex].value;
-
+
// Remove existing content.
dropdown.length = 0;
// Add mandatory top option.
}
// If a previously selected item is still in dropdown - select it.
- if (dropdown.options.length > 0) {
+ if (dropdown.options.length > 0) {
for (var i = 0; i < dropdown.options.length; i++) {
if (dropdown.options[i].value == selected_item) {
dropdown.options[i].selected = true;
}
if ((formFieldValue != "") && (formFieldName == "duration")) {
- var x = eval("document.timeRecordForm.start");
- x.value = "";
- x.disabled = true;
- x.style.background = "#e9e9e9";
- var x = eval("document.timeRecordForm.finish");
- x.value = "";
- x.disabled = true;
- x.style.background = "#e9e9e9";
+ var x = eval("document.timeRecordForm.start");
+ x.value = "";
+ x.disabled = true;
+ x.style.background = "#e9e9e9";
+ var x = eval("document.timeRecordForm.finish");
+ x.value = "";
+ x.disabled = true;
+ x.style.background = "#e9e9e9";
}
if ((formFieldValue == "") && (formFieldName == "duration")) {
- var x = eval("document.timeRecordForm.start");
+ var x = eval("document.timeRecordForm.start");
x.disabled = false;
x.style.background = "white";
var x = eval("document.timeRecordForm.finish");
<td>{$forms.timeRecordForm.onBehalfUser.control}</td>
</tr>
{/if}
-{if in_array('cl', explode(',', $user->plugins))}
+{if $user->isPluginEnabled('cl')}
<tr>
- <td align="right">{$i18n.label.client}{if in_array('cm', explode(',', $user->plugins))} (*){/if}:</td>
+ <td align="right">{$i18n.label.client}{if $user->isPluginEnabled('cm')} (*){/if}:</td>
<td>{$forms.timeRecordForm.client.control}</td>
</tr>
{/if}
-{if in_array('iv', explode(',', $user->plugins))}
+{if $user->isPluginEnabled('iv')}
<tr>
<td align="right"> </td>
<td><label>{$forms.timeRecordForm.billable.control}{$i18n.form.time.billable}</label></td>
<table width="720">
<tr>
<td valign="top">
- {if $time_records}
+{if $time_records}
<table border='0' cellpadding='3' cellspacing='1' width="100%">
<tr>
-{if in_array('cl', explode(',', $user->plugins))}
+ {if $user->isPluginEnabled('cl')}
<td width="20%" class="tableHeader">{$i18n.label.client}</td>
-{/if}
-{if ($smarty.const.MODE_PROJECTS == $user->tracking_mode || $smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
+ {/if}
+ {if ($smarty.const.MODE_PROJECTS == $user->tracking_mode || $smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
<td class="tableHeader">{$i18n.label.project}</td>
-{/if}
-{if ($smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
+ {/if}
+ {if ($smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
<td class="tableHeader">{$i18n.label.task}</td>
-{/if}
-{if (($smarty.const.TYPE_START_FINISH == $user->record_type) || ($smarty.const.TYPE_ALL == $user->record_type))}
+ {/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>
-{/if}
+ {/if}
<td width="5%" class="tableHeader">{$i18n.label.duration}</td>
<td class="tableHeader">{$i18n.label.note}</td>
<td width="5%" class="tableHeader">{$i18n.label.edit}</td>
</tr>
- {foreach $time_records as $record}
+ {foreach $time_records as $record}
<tr bgcolor="{cycle values="#f5f5f5,#ccccce"}" {if !$record.billable} class="not_billable" {/if}>
-{if in_array('cl', explode(',', $user->plugins))}
+ {if $user->isPluginEnabled('cl')}
<td valign='top'>{$record.client|escape:'html'}</td>
-{/if}
-{if ($smarty.const.MODE_PROJECTS == $user->tracking_mode || $smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
+ {/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>
-{/if}
-{if ($smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
+ {/if}
+ {if ($smarty.const.MODE_PROJECTS_AND_TASKS == $user->tracking_mode)}
<td valign='top'>{$record.task|escape:'html'}</td>
-{/if}
-{if (($smarty.const.TYPE_START_FINISH == $user->record_type) || ($smarty.const.TYPE_ALL == $user->record_type))}
+ {/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} {/if}</td>
<td nowrap align='right' valign='top'>{if $record.finish}{$record.finish}{else} {/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>
+ {/if}
+ <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:'html'}{else} {/if}</td>
<td valign='top' align='center'>
- {if $record.invoice_id}
+ {if $record.invoice_id}
- {else}
+ {else}
<a href='time_edit.php?id={$record.id}'>{$i18n.label.edit}</a>
- {if $record.duration == '0:00'}
+ {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}
+ {/if}
+ {/if}
</td>
</tr>
- {/foreach}
- </table>
- {/if}
+ {/foreach}
+ </table>
+{/if}
</td>
</tr>
</table>
<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}
-
-