diff --git a/be/app/Http/Controllers/MasterTaskController.php b/be/app/Http/Controllers/MasterTaskController.php index 26e129d..2ac4ac9 100644 --- a/be/app/Http/Controllers/MasterTaskController.php +++ b/be/app/Http/Controllers/MasterTaskController.php @@ -134,14 +134,25 @@ class MasterTaskController extends Controller $mastertask = MasterTask::find($id); // ak je Master task v stave ukončený, nedovolime update. vynimkou je iba znovuotvorenie mastertasku - if ($mastertask->is_finished == 1 && isset($request->all()['data']['is_finished']) && $request->all()['data']['is_finished'] == 1) { + if ($mastertask->is_finished == 1 && (!isset($request->all()['data']['is_finished']) || $request->all()['data']['is_finished'] == 1)) { return response()->json([ 'message' => 'Cannot update mastertask that is finished.', ], 400); } + // znovuotvorenie mastertasku + if ($mastertask->is_finished == 1 && isset($request->all()['data']['is_finished']) && $request->all()['data']['is_finished'] == 0) { + $mastertask->is_finished = 0; + $mastertask->save(); + + return response()->json([ + 'message' => 'Master Task opened successfully', + 'mastertask' => $mastertask + ]); + } + // ak chcem ukoncit mastertask, ktory nema ani jeden subtask, ktory ma natrackovany cas, tak to nedovolim - if (isset($request->all()['data']['is_finished']) && $request->all()['data']['is_finished'] == 1) { + if ($mastertask->is_finished == 0 && isset($request->all()['data']['is_finished']) && $request->all()['data']['is_finished'] == 1) { $atLeastOneSubtaskHasTimesheet = false; foreach ($mastertask->subtasks as $subtask) { @@ -154,10 +165,7 @@ class MasterTaskController extends Controller return response()->json([ 'message' => 'Finishing mastertask is only possible where at least one subtask contains timesheet', ], 400); - } - // ukoncenie master tasku - if ($mastertask->is_finished == 0 && isset($request->all()['data']['is_finished']) && $request->all()['data']['is_finished'] == 1) { $mastertask->is_finished = 1; $mastertask->save(); @@ -167,6 +175,8 @@ class MasterTaskController extends Controller ]); } + + // validacia na max 50MB size pre attachmenty. neslo dat do klasickeho laravel validation, tak je to separe if ($files = $request->file('data')) { foreach ( $files['files'] as $file ) {