From da8c2fce6ca01e566882657c48f636dbdab06cec Mon Sep 17 00:00:00 2001 From: Michal Feher Date: Tue, 20 Jan 2026 13:22:52 +0000 Subject: [PATCH] no message --- app/src/plugins/tm@modal/task/z-task-modal.vue | 4 ++-- be/app/Http/Controllers/SubTaskController.php | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/plugins/tm@modal/task/z-task-modal.vue b/app/src/plugins/tm@modal/task/z-task-modal.vue index fb180d7..b4ec96a 100644 --- a/app/src/plugins/tm@modal/task/z-task-modal.vue +++ b/app/src/plugins/tm@modal/task/z-task-modal.vue @@ -627,9 +627,9 @@ export default { // Helper: Get timeblocks for specific employee getEmployeeTimeblocks(employeeId) { - if (!this.timeblocks) return []; + if (!this.timeblocks || !employeeId) return []; return this.timeblocks.filter( - (tb) => Number(tb.employee_id) === Number(employeeId), + (tb) => tb.employee_id && Number(tb.employee_id) === Number(employeeId), ); }, diff --git a/be/app/Http/Controllers/SubTaskController.php b/be/app/Http/Controllers/SubTaskController.php index 20ce10a..98de214 100644 --- a/be/app/Http/Controllers/SubTaskController.php +++ b/be/app/Http/Controllers/SubTaskController.php @@ -159,12 +159,12 @@ class SubTaskController extends Controller // ak je zadané employee_id, filtrovať podľa neho // draft sa zobrazuje: 1) creatorovi (user_id) ALEBO 2) zamestnancom v draft_data if (isset($parameters['employee_id'])) { - $employeeId = $parameters['employee_id']; + $employeeId = (int) $parameters['employee_id']; $query->where(function ($q) use ($employeeId) { // Creator vidí svoje drafty $q->where('user_id', $employeeId) - // Alebo zamestnanec je v draft_data - ->orWhereRaw("JSON_CONTAINS(draft_data, JSON_OBJECT('id', CAST(? AS UNSIGNED)))", [$employeeId]); + // Alebo zamestnanec je v draft_data array (hľadáme objekt s daným id) + ->orWhereRaw("JSON_CONTAINS(draft_data, CAST(? AS JSON), '\$')", [json_encode(['id' => $employeeId])]); }); } @@ -343,7 +343,9 @@ class SubTaskController extends Controller // Zistíme či ide o draft s viacerými zamestnancami a uložíme employees data pred úpravou requestu $employeesData = $request->all()['data']['employees'] ?? null; - $isDraftWithMultipleEmployees = $subtask->is_draft && $employeesData && count($employeesData) > 1; + // Draft má viacerých zamestnancov ak: má employees v requeste ALEBO má draft_data v DB + $hasDraftData = $subtask->is_draft && ($employeesData || $subtask->draft_data); + $isDraftWithMultipleEmployees = $hasDraftData; // Pre drafty je validácia duration voliteľná if (! $subtask->is_draft) {