From 4d4ac5db3a5854af5353d5c86e78b67c715535d1 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Sat, 6 May 2017 00:42:02 -0600 Subject: [PATCH] Add start and finish dates to task cards, change assigned/due icons, add resume action that doesn't overwrite starttime --- action.php | 13 ++++++++++--- lang/en_us.php | 4 +++- lib/gettaskman.php | 24 +++++++++++++++++++++--- lib/gettasks.php | 26 +++++++++++++++++++++----- 4 files changed, 55 insertions(+), 12 deletions(-) diff --git a/action.php b/action.php index 8eb6b57..7959d77 100644 --- a/action.php +++ b/action.php @@ -59,12 +59,19 @@ switch ($VARS['action']) { } break; case "start": - header('HTTP/1.0 204 No Content'); if (!$database->has('assigned_tasks', ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]])) { die('You are not assigned to this task!'); } + header('HTTP/1.0 204 No Content'); $database->update('assigned_tasks', ['#starttime' => 'NOW()', 'statusid' => 1], ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]]); break; + case "resume": + if (!$database->has('assigned_tasks', ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid'], 'starttime[!]' => null]])) { + die('Invalid operation.'); + } + header('HTTP/1.0 204 No Content'); + $database->update('assigned_tasks', ['statusid' => 1], ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]]); + break; case "finish": header('HTTP/1.0 204 No Content'); if (!$database->has('assigned_tasks', ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]])) { @@ -73,17 +80,17 @@ switch ($VARS['action']) { $database->update('assigned_tasks', ['#endtime' => 'NOW()', 'statusid' => 2], ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]]); break; case "pause": - header('HTTP/1.0 204 No Content'); if (!$database->has('assigned_tasks', ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]])) { die('You are not assigned to this task!'); } + header('HTTP/1.0 204 No Content'); $database->update('assigned_tasks', ['statusid' => 3], ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]]); break; case "problem": - header('HTTP/1.0 204 No Content'); if (!$database->has('assigned_tasks', ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]])) { die('You are not assigned to this task!'); } + header('HTTP/1.0 204 No Content'); $database->update('assigned_tasks', ['statusid' => 4], ["AND" => ['taskid' => $VARS['taskid'], 'userid' => $_SESSION['uid']]]); break; case "edittask": diff --git a/lang/en_us.php b/lang/en_us.php index ec7c044..120dd65 100644 --- a/lang/en_us.php +++ b/lang/en_us.php @@ -71,5 +71,7 @@ define("STRINGS", [ "user not managed" => "You are not a manager of the selected user, and cannot assign a task to them.", "task edit not allowed" => "You are not allowed to edit that task.", "task delete not allowed" => "You are not allowed to delete that task.", - "task deleted" => "Task deleted." + "task deleted" => "Task deleted.", + "finished on" => "Finished on: {date}", + "started on" => "Started on: {date}", ]); \ No newline at end of file diff --git a/lib/gettaskman.php b/lib/gettaskman.php index a6f7134..217d88a 100644 --- a/lib/gettaskman.php +++ b/lib/gettaskman.php @@ -24,7 +24,9 @@ $tasks = $database->select('tasks', [ 'taskassignedon (assigned)', 'taskdueby (due)', 'userid', - 'statusid' + 'statusid', + 'starttime', + 'endtime' ], [ "AND" => [ @@ -92,9 +94,25 @@ if (count($tasks) > 0) {