]> wagnertech.de Git - timetracker.git/blobdiff - week.php
Refactoring ongoing on week view functions.
[timetracker.git] / week.php
index bc1e4717c75a0887c538c142f06db429d6cde245..b88310729318e78326871d8742ae4b5688c7c59b 100644 (file)
--- a/week.php
+++ b/week.php
@@ -33,6 +33,7 @@ import('form.Table');
 import('form.TextField');
 import('ttUserHelper');
 import('ttTeamHelper');
+import('ttWeekViewHelper');
 import('ttClientHelper');
 import('ttTimeHelper');
 import('DateAndTime');
@@ -73,7 +74,7 @@ if ($user->isPluginEnabled('cf')) {
   $smarty->assign('custom_fields', $custom_fields);
 }
 
-// TODO: how is this plugin supposed to work for week view?
+// Use Monthly Quotas plugin, if applicable.
 if ($user->isPluginEnabled('mq')){
   require_once('plugins/MonthlyQuota.class.php');
   $quota = new MonthlyQuota();
@@ -128,7 +129,7 @@ class LabelCellRenderer extends DefaultCellRenderer {
     // Special handling for not billable entries.
     if ($row > 0) {
       $row_id = $table->getValueAtName($row,'row_id');
-      $billable = ttTimeHelper::parseFromWeekViewRow($row_id, 'bl');
+      $billable = ttWeekViewHelper::parseFromWeekViewRow($row_id, 'bl');
       if (!$billable) {
         $this->setOptions(array('style'=>'color: red;')); // TODO: style it properly in CSS.
       }
@@ -148,7 +149,7 @@ class TimeCellRenderer extends DefaultCellRenderer {
     if ($lockedDays[$column-1])
       $field->setEnabled(false);
     $field->setFormName($table->getFormName());
-    $field->setSize(2);
+    $field->setStyle('width: 60px;'); // TODO: need to style everything properly, eventually.
     $field->setValue($table->getValueAt($row,$column)['duration']);
     // Disable control when time entry mode is TYPE_START_FINISH and there is no value in control
     // because we can't supply start and finish times in week view - there are no fields for them.
@@ -179,8 +180,7 @@ if ($user->canManageTeam()) {
 }
 
 // Create week_durations table.
-$table = new Table('week_durations');
-// $table->setIAScript('markModified'); // TODO: write a script to mark table or particular cells as modified.
+$table = new Table('week_durations', 'week_view_table');
 $table->setTableOptions(array('width'=>'100%','cellspacing'=>'1','cellpadding'=>'3','border'=>'0'));
 $table->setRowOptions(array('class'=>'tableHeaderCentered'));
 $table->setData($dataArray);
@@ -310,8 +310,8 @@ if ($request->isPost()) {
     // Process the table of values.
     if ($err->no()) {
 
-      // Obtain values. Perhaps, it's best to iterate throigh posted parameters one by one,
-      // see if anything changed, and apply one change at a time until we see an error.
+      // Obtain values. Iterate through posted parameters one by one,
+      // see if value changed, apply one change at a time until we see an error.
       $result = true;
       $rowNumber = 0;
       // Iterate through existing rows.
@@ -346,14 +346,15 @@ if ($request->isPost()) {
             $fields = array();
             $fields['row_id'] = $dataArray[$rowNumber]['row_id'];
             if (!$fields['row_id']) {
-              // Special handling for row 0, a new entry. Need to construct row_id.
+              // Special handling for row 0, a new entry. Need to construct new row_id.
               $record = array();
               $record['client_id'] = $cl_client;
               $record['billable'] = $cl_billable ? '1' : '0';
               $record['project_id'] = $cl_project;
               $record['task_id'] = $cl_task;
               $record['cf_1_value'] = $cl_cf_1;
-              $fields['row_id'] = ttTimeHelper::makeRecordIdentifier($record).'_0';
+              $fields['row_id'] = ttTimeHelper::makeRecordIdentifier($record).'_0'; // TODO: Handle a possible conflict with already existing row...
+                                                                                    // We may have to increment the suffix here.
               $fields['note'] = $cl_note;
             }
             $fields['day_header'] = $dayHeader;