From 75db2ac0af0f7be1220cd9058b1f02775672a8f4 Mon Sep 17 00:00:00 2001 From: Olivier Legat Date: Sat, 18 Dec 2021 20:19:57 +0100 Subject: [PATCH] show proper data upon returning from save --- app/Http/Controllers/ScheduleController.php | 30 +++++++++++++++++-- resources/js/components/ScheduleComponent.vue | 19 ++++-------- 2 files changed, 32 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/ScheduleController.php b/app/Http/Controllers/ScheduleController.php index 3719222..f21268e 100644 --- a/app/Http/Controllers/ScheduleController.php +++ b/app/Http/Controllers/ScheduleController.php @@ -124,8 +124,32 @@ class ScheduleController extends Controller $fill = $request->all(); $fill['date'] = $date; - $schd = Schedule::updateOrCreate(['id' => $request->id],$fill); - $schd->saveOrFail(); - return \response()->json(['status' => true, 'sched'=>$schd]); + $schedule = Schedule::updateOrCreate(['id' => $request->id],$fill); + $schedule->saveOrFail(); + + $id_lie = array('label'=> null, 'value'=> null); + if(!is_null($schedule->model_lie)) { + if (isset($schedule->relatedModel->name)) { + $id_lie = array('label'=>$schedule->relatedModel->name, 'value'=>$schedule->id_lie); + } else { + $id_lie = array('label'=>'Ticket '.$schedule->id_lie, 'value'=>$schedule->id_lie); + } + $model_lie = $schedule->model_lie; + } else { + $model_lie = array('label'=> null, 'value'=> null); + } + + $arSchd = [ + 'id' => $schedule->id, + 'user_id' => $schedule->user_id, + 'date' => $schedule->date->format('d/m/Y'), + 'activity' => $schedule->activity, + 'description' => $schedule->description, + 'id_lie' => $id_lie, + 'model_lie' => $model_lie, + 'slot' => $schedule->slot, + ]; + + return \response()->json(['status' => true, 'sched'=>$arSchd]); } } diff --git a/resources/js/components/ScheduleComponent.vue b/resources/js/components/ScheduleComponent.vue index 455e279..d461281 100644 --- a/resources/js/components/ScheduleComponent.vue +++ b/resources/js/components/ScheduleComponent.vue @@ -450,22 +450,13 @@ export default { .then(response => { if(response.data.status) { let sched = response.data.sched; - sched.date = Date.parse(sched.date) - sched.date = this.moment(sched.date).format('DD/MM/YYYY'); + // sched.date = Date.parse(sched.date) + // sched.date = this.moment(sched.date).format('DD/MM/YYYY'); let cellData = { - "type": { - "label": "", - "value": sched.activity - }, + "type": sched.activity, "text": sched.description, - "id_lie": { - "label": "", - "value": sched.id_lie - }, - "model_lie": { - "label": "", - "value": sched.model_lie - }, + "id_lie": sched.id_lie, + "model_lie": sched.model_lie, "id": sched.id }; this.$set(this.schedules[sched.user_id][sched.slot], sched.date, cellData);