From 3ad1041a7b28e622d9a03badd00fe2fd16fdce31 Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 3 Jan 2021 20:37:15 +0100 Subject: [PATCH] Added ability to edit records --- public/api/services/jugglDbApi.inc.php | 19 +++- public/api/updateRecord.php | 29 ++++++ src/components/forms/FormRecordDetails.vue | 112 +++++++++++++++++++-- src/components/juggl/JugglRecordsList.vue | 42 ++++---- src/router/index.js | 9 ++ src/services/api.service.js | 6 +- src/services/helper.service.js | 10 ++ src/services/juggl.service.js | 27 +++-- src/store/index.js | 13 +-- src/store/modules/juggl.js | 93 ++++++++++------- src/style/theme.sass | 19 +++- src/views/History.vue | 57 +++++++++++ src/views/Home.vue | 15 ++- 13 files changed, 352 insertions(+), 99 deletions(-) create mode 100644 public/api/updateRecord.php create mode 100644 src/views/History.vue diff --git a/public/api/services/jugglDbApi.inc.php b/public/api/services/jugglDbApi.inc.php index 3d8fa92..00064fe 100644 --- a/public/api/services/jugglDbApi.inc.php +++ b/public/api/services/jugglDbApi.inc.php @@ -193,11 +193,28 @@ function updateEndRecord($user_id, $params) // Get start instance to calculate duration $start_time = getTimeRecord($user_id, $record_id)["start_time"]; - $data = [ + $record = [ + "record_id" => $record_id, "end_time" => $params->get("end_time"), "duration" => calcDuration($start_time, $params->get("end_time")) ]; + updateRecord($user_id, $record); +} + +function updateRecord($user_id, $record) +{ + $record_id = $record["record_id"]; + + // Update given parameters + $data = []; + $props = ["end_time", "start_time", "duration", "project_id"]; + foreach ($props as $p) { + if (array_key_exists ($p, $record)) { + $data[$p] = $record[$p]; + } + } + $db = new DbOperations(); $db->update("time_records", $data); $db->where("user_id", Comparison::EQUAL, $user_id); diff --git a/public/api/updateRecord.php b/public/api/updateRecord.php new file mode 100644 index 0000000..61092f6 --- /dev/null +++ b/public/api/updateRecord.php @@ -0,0 +1,29 @@ +get("user_id"); + + if ($params->exists(["record"]) == false) { + respondStatus(400, "Missing parameter"); + } + + updateRecord($user_id, $params->get("record")); + + respondStatus(200); + } +} + +$branch = new UpdateRecordBranch(); +$branch->execute(); diff --git a/src/components/forms/FormRecordDetails.vue b/src/components/forms/FormRecordDetails.vue index efd7309..fbaffd5 100644 --- a/src/components/forms/FormRecordDetails.vue +++ b/src/components/forms/FormRecordDetails.vue @@ -28,40 +28,75 @@ + + Finished + + + + + + + + + Something went wrong. - Save + {{ saveBtnText }} + + + Cancel + + + - -
{{ record }}
-
- -
{{ times }}
-
+ + diff --git a/src/views/Home.vue b/src/views/Home.vue index a1d7eae..44b75e7 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -1,11 +1,11 @@ @@ -49,7 +54,7 @@ export default { created: () => { store.dispatch("loadProjects"); store.dispatch("loadRunningRecords"); - store.dispatch("loadRecords", { limit: 25, finished: true }); + store.dispatch("loadRecords", { limit: 10, finished: true }); } }; @@ -57,6 +62,8 @@ export default {