posaune
[timetracker.git] / timesheet_add.php
index e8eb565..7c7633c 100644 (file)
@@ -31,7 +31,7 @@ import('form.Form');
 import('ttTimesheetHelper');
 
 // Access checks.
-if (!(ttAccessAllowed('manage_own_timesheets') || ttAccessAllowed('manage_timesheets') || ttAccessAllowed('manage_all_timesheets'))) {
+if (!(ttAccessAllowed('track_own_time') || ttAccessAllowed('track_time'))) {
   header('Location: access_denied.php');
   exit();
 }
@@ -78,7 +78,7 @@ if ($request->isPost()) {
   if (!ttValidDate($cl_start)) $err->add($i18n->get('error.field'), $i18n->get('label.start_date'));
   if (!ttValidDate($cl_finish)) $err->add($i18n->get('error.field'), $i18n->get('label.end_date'));
   if (!ttValidString($cl_comment, true)) $err->add($i18n->get('error.field'), $i18n->get('label.comment'));
-  if ($err->no() && ttTimesheetHelper::getTimesheetByName($cl_name, $user_id)) $err->add($i18n->get('error.object_exists'));
+  if ($err->no() && ttTimesheetHelper::getTimesheetByName($cl_name)) $err->add($i18n->get('error.object_exists'));
   $fields = array('user_id' => $user_id,
     'name' => $cl_name,
     'client_id' => $cl_client,
@@ -87,20 +87,16 @@ if ($request->isPost()) {
     'end_date' => $cl_finish,
     'comment' => $cl_comment);
   if ($err->no() && !ttTimesheetHelper::timesheetItemsExist($fields)) $err->add($i18n->get('error.no_records'));
+  if ($err->no() && ttTimesheetHelper::overlaps($fields)) $err->add($i18n->get('error.overlap'));
   // Finished validating user input.
 
-  /*
   if ($err->no()) {
-    // TODO: use $fields.
-    if (ttTimesheetHelper::insert(array('user_id' => $user_id,
-        'client_id' => $bean->getAttribute('client'),
-        'name' => $cl_name,
-        'comment' => $cl_comment))) {
-          header('Location: timesheets.php');
-          exit();
-        } else
-          $err->add($i18n->get('error.db'));
-    } */
+    if (ttTimesheetHelper::createTimesheet($fields)) {
+      header('Location: timesheets.php');
+      exit();
+    } else
+      $err->add($i18n->get('error.db'));
+  }
 } // isPost
 
 $smarty->assign('forms', array($form->getName()=>$form->toArray()));