posaune
[timetracker.git] / timesheet_view.php
index 0a3cc72..c8d7048 100644 (file)
@@ -92,8 +92,8 @@ if ($showApprove) {
 if ($request->isPost()) {
   if ($request->getParameter('btn_submit')) {
     $fields = array('timesheet_id' => $timesheet['id'],
-      'approver_id' => $approver_id); // TODO: obtain (and check) approver id above during access checks.
-    if (!ttTimesheetHelper::submitTimesheet($fields))
+      'approver_id' => $approver_id);
+    if (!ttTimesheetHelper::markSubmitted($fields))
       $err->add($i18n->get('error.db'));
     if ($err->no() && !ttTimesheetHelper::sendSubmitEmail($fields)) {
       $err->add($i18n->get('error.mail_send'));
@@ -107,24 +107,36 @@ if ($request->isPost()) {
 
   if ($request->getParameter('btn_approve')) {
     $fields = array('timesheet_id' => $timesheet['id'],
+      'name' => $timesheet['name'],
+      'user_id' => $timesheet['user_id'],
       'comment' => $cl_comment);
-    if (ttTimesheetHelper::approveTimesheet($fields)) {
+    if (!ttTimesheetHelper::markApproved($fields))
+      $err->add($i18n->get('error.db'));
+    if ($err->no() && !ttTimesheetHelper::sendApprovedEmail($fields)) {
+      $err->add($i18n->get('error.mail_send'));
+    }
+    if ($err->no()) {
       // Redirect to self.
       header('Location: timesheet_view.php?id='.$timesheet['id']);
       exit();
-    } else
-      $err->add($i18n->get('error.db'));
+    }
   }
 
   if ($request->getParameter('btn_disapprove')) {
     $fields = array('timesheet_id' => $timesheet['id'],
+      'name' => $timesheet['name'],
+      'user_id' => $timesheet['user_id'],
       'comment' => $cl_comment);
-    if (ttTimesheetHelper::disapproveTimesheet($fields)) {
+    if (!ttTimesheetHelper::markDisapproved($fields))
+      $err->add($i18n->get('error.db'));
+    if ($err->no() && !ttTimesheetHelper::sendDisapprovedEmail($fields)) {
+      $err->add($i18n->get('error.mail_send'));
+    }
+    if ($err->no()) {
       // Redirect to self.
       header('Location: timesheet_view.php?id='.$timesheet['id']);
       exit();
-    } else
-      $err->add($i18n->get('error.db'));
+    }
   }
 }