global $i18n;
$dataArray = array();
+ $includeNotes = $user->isOptionEnabled('week_notes');
// Construct the first row for a brand new entry.
$dataArray[] = array('row_id' => null,'label' => $i18n->get('form.week.new_entry').':'); // Insert row.
$control_id = '0_'. $dayHeaders[$i];
$dataArray[0][$dayHeaders[$i]] = array('control_id' => $control_id, 'tt_log_id' => null,'duration' => null);
}
- if ($user->isPluginEnabled('wvns')) {
+ if ($includeNotes) {
// Construct the second row for daily comments for a brand new entry.
$dataArray[] = array('row_id' => null,'label' => $i18n->get('label.notes').':'); // Insert row.
// Insert empty cells with proper control ids.
$dataArray[$pos][$dayHeaders[$i]] = array('control_id' => $control_id, 'tt_log_id' => null,'duration' => null);
}
// Insert row for comments.
- if ($user->isPluginEnabled('wvns')) {
+ if ($includeNotes) {
$dataArray[] = array('row_id' => $row_id.'_notes','label' => $i18n->get('label.notes').':');
$pos++;
// Insert empty cells with proper control ids.
// Insert actual cell data from $record (one cell only).
$dataArray[$pos][$day_header] = array('control_id' => $pos.'_'. $day_header, 'tt_log_id' => $record['id'],'duration' => $record['duration']);
// Insert existing comment from $record into the comment cell.
- if ($user->isPluginEnabled('wvns')) {
+ if ($includeNotes) {
$pos++;
$dataArray[$pos][$day_header] = array('control_id' => $pos.'_'. $day_header, 'tt_log_id' => $record['id'],'note' => $record['comment']);
}
$control_id = '0_'. $dayHeaders[$i];
$dataArray[0][$dayHeaders[$i]] = array('control_id' => $control_id, 'tt_log_id' => null,'duration' => null);
}
- if ($user->isPluginEnabled('wvns')) {
+ $includeNotes = $user->isOptionEnabled('week_notes');
+ if ($includeNotes) {
// Construct the second row for daily comments for a brand new entry.
$dataArray[] = array('row_id' => null,'label' => $i18n->get('label.notes').':'); // Insert row.
// Insert empty cells with proper control ids.
$dataArray[$pos][$dayHeaders[$i]] = array('control_id' => $control_id, 'tt_log_id' => null,'duration' => null);
}
// Insert row for comments.
- if ($user->isPluginEnabled('wvns')) {
+ if ($includeNotes) {
$dataArray[] = array('row_id' => $row_id.'_notes','label' => $i18n->get('label.notes').':');
$pos++;
// Insert empty cells with proper control ids.
}
// Convert minutes to hh:mm for display.
foreach($dayHeaders as $dayHeader) {
- $dayTotals[$dayHeader] = ttTimeHelper::toAbsDuration($dayTotals[$dayHeader]);
+ $dayTotals[$dayHeader] = ttTimeHelper::minutesToDuration($dayTotals[$dayHeader]);
}
return $dayTotals;
}
}
// We do have start time.
- // Quick test if new duration is less then already existing.
$newMinutes = ttTimeHelper::toMinutes($new_duration);
+ if ($newMinutes < 0) {
+ // Negative durations are not supported when start time is defined.
+ $err->add($i18n->get('error.field'), $i18n->get('label.duration'));
+ return false;
+ }
+
+ // Quick test if new duration is less than already existing.
$oldMinutes = ttTimeHelper::toMinutes($oldDuration);
if ($newMinutes < $oldMinutes)
return true; // Safe to modify.