From d9eb4b0d16ce5f05464997273cad5363abdaabcb Mon Sep 17 00:00:00 2001 From: Michal Feher Date: Mon, 19 Jan 2026 21:55:20 +0000 Subject: [PATCH] no message --- be/app/Http/Controllers/SubTaskController.php | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/be/app/Http/Controllers/SubTaskController.php b/be/app/Http/Controllers/SubTaskController.php index 2d2a06e..20ce10a 100644 --- a/be/app/Http/Controllers/SubTaskController.php +++ b/be/app/Http/Controllers/SubTaskController.php @@ -341,11 +341,9 @@ class SubTaskController extends Controller } } - // Pre drafty s employees dátami - aktualizujeme aj draft_data - if ($subtask->is_draft && isset($request->all()['data']['employees'])) { - $subtask->draft_data = $request->all()['data']['employees']; - $subtask->save(); - } + // 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; // Pre drafty je validácia duration voliteľná if (! $subtask->is_draft) { @@ -371,7 +369,12 @@ class SubTaskController extends Controller // upratanie requestu, pretoze frontend pouziva inu nomenklaturu fieldov ako appka $data['data'] = $request->all()['data']; - $data['data']['user_id'] = $request->all()['data']['employee_id'] ?? $subtask->user_id; + // Pre draft s viacerými zamestnancami: NEMENIME user_id - zostáva na creatorovi + if ($isDraftWithMultipleEmployees) { + $data['data']['user_id'] = $subtask->user_id; + } else { + $data['data']['user_id'] = $request->all()['data']['employee_id'] ?? $subtask->user_id; + } $data['data']['title'] = isset($request->all()['data']['title']) ? $request->all()['data']['title'] : null; $data['data']['deadline'] = isset($request->all()['data']['deadline']) ? $request->all()['data']['deadline'] : null; $data['data']['estimated_time'] = $request->all()['data']['duration'] ?? $subtask->estimated_time; @@ -382,10 +385,19 @@ class SubTaskController extends Controller $data['data']['is_draft'] = $request->all()['data']['is_draft']; } + // Odstránime employees z data payloadu aby sa neprepísalo draft_data pri update() + unset($data['data']['employees']); + $request->merge($data); $subtask->update($request->all()['data']); + // Pre drafty s employees dátami - aktualizujeme draft_data SEPARÁTNE (po update) + if ($subtask->is_draft && $employeesData) { + $subtask->draft_data = $employeesData; + $subtask->save(); + } + // upload attachmentu if ($request->file('data')) { $attachments = Attachment::uploadAttachmentsToS3($request->file('data')['files'], $subtask->mastertask);