From d9b058a1a76fbd197d26eefdd87f79b2eee78967 Mon Sep 17 00:00:00 2001 From: Olivier Legat Date: Sat, 18 Dec 2021 18:20:57 +0100 Subject: [PATCH] show linked model infos --- app/Http/Controllers/ScheduleController.php | 11 +-- resources/js/components/ScheduleComponent.vue | 71 +++++++++++++------ resources/views/schedule/index.blade.php | 49 +------------ 3 files changed, 56 insertions(+), 75 deletions(-) diff --git a/app/Http/Controllers/ScheduleController.php b/app/Http/Controllers/ScheduleController.php index 9ef017a..7d3ba54 100644 --- a/app/Http/Controllers/ScheduleController.php +++ b/app/Http/Controllers/ScheduleController.php @@ -46,13 +46,16 @@ class ScheduleController extends Controller $prevDate = null; $prevSlot = null; foreach ($schedules as $schedule) { - $id_lie = null; + $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); } if ($prevUserId != $schedule->user_id) { @@ -64,7 +67,7 @@ class ScheduleController extends Controller 'type' => $schedule->activity, 'text' => $schedule->description, 'id_lie' => $id_lie, //$schedule->id_lie, - 'model_lie' => $schedule->model_lie, + 'model_lie' => $model_lie, ), ) ); @@ -78,7 +81,7 @@ class ScheduleController extends Controller 'type' => $schedule->activity, 'text' => $schedule->description, 'id_lie' => $id_lie, //$schedule->id_lie, - 'model_lie' => $schedule->model_lie, + 'model_lie' => $model_lie, ), ); } else { @@ -90,7 +93,7 @@ class ScheduleController extends Controller 'type' => $schedule->activity, 'text' => $schedule->description, 'id_lie' => $id_lie, //$schedule->id_lie, - 'model_lie' => $schedule->model_lie, + 'model_lie' => $model_lie, ); } else { //same date diff --git a/resources/js/components/ScheduleComponent.vue b/resources/js/components/ScheduleComponent.vue index 1e6b26a..9fa6064 100644 --- a/resources/js/components/ScheduleComponent.vue +++ b/resources/js/components/ScheduleComponent.vue @@ -29,6 +29,12 @@ {{users[index].name}} + + + {{user[key][day.key]['id_lie']['label']}} + +
{{user[key][day.key]['text']}} @@ -39,27 +45,6 @@ - - -
- -
-
- S {{item.num}} - {{item.month}} {{item.year}} -
- -
- {{day.day}} {{day.num}} -
- -
→
@@ -213,7 +198,10 @@ export default { label: '', value: '', }, - id_lie: 0, + id_lie: { + label: '', + value: '', + }, }, //v-select de ses morts dDisabled : false, @@ -281,7 +269,21 @@ export default { return mydays; }, prepareSched(dbscheds) { - var templateObj = {"type":{"label":"","value":""},"text":"","id_lie":{"label":"","value":""},"model_lie":{"label":"","value":""},"id":null} + var templateObj = { + "type": { + "label":"", + "value":"" + }, + "text":"", + "id_lie": { + "label":"", + "value":"" + }, + "model_lie": { + "label":"", + "value":"" + }, + "id":null} //we need to make missing users Object.keys(this.users).forEach(id => { if(dbscheds[id] === undefined) { @@ -307,6 +309,29 @@ export default { }); return dbscheds; }, + getCellObjectInfo(cellData) { + for(let model of this.models) { + if(cellData['model_lie'].value === model.value && model.value == 'tickets') { + return { + 'url': this.route('ticket.show', { TICKET: cellData['id_lie'].value }), + 'text': cellData['model_lie'].label + } + } + if(cellData['model_lie'].value === model.value && model.value == 'sites') { + return { + 'url': this.route('sites.show', { SITE: cellData['id_lie'].value}), + 'text': cellData['model_lie'].label + } + } + if(cellData['model_lie'].value === model.value && model.value == 'projects') { + return { + 'url': this.route('projects.show', { PROJECT: cellData['id_lie'].value}), + 'text': cellData['model_lie'].label + } + } + } + return null + }, resetModalFields() { this.$set(this, 'currentType' , null) this.$set(this, 'value' , { diff --git a/resources/views/schedule/index.blade.php b/resources/views/schedule/index.blade.php index 8976da2..b1ec0c7 100644 --- a/resources/views/schedule/index.blade.php +++ b/resources/views/schedule/index.blade.php @@ -24,54 +24,7 @@ db-models='@json(CellModel::toArray())' db-users='@json($users)' weeks='@json($weekCells)' - v-bind:show-weekends='true'> -{{--
-
-
- ← -
-
- -
- @for ($i = 0; $i < count($weekCells); $i++) -
- S{{$date->addDays($i*7)->weekOfYear}} - {{$date->addDays($i*7)->shortLocaleMonth}} {{$date->addDays($i*7)->format('Y')}} -
- @endfor - - @for ($i = 0; $i < (count($weekCells)*7); $i++) -
- {{$date->addDays($i)->localeDayOfWeek}} {{$date->addDays($i)->format('d')}} -
- @php - if( $date->addDays($i)->dayOfWeek == 5) { - $i+=2; - } - @endphp - @endfor - @foreach($users as $id => $user) - -
{{$user["name"]}}
- @for ($k=1; $k < 5; $k++) - - @for ($i = 0; $i < (count($weekCells)*7); $i++) -
- {{$arSchedules[$id][$k][$date->addDays($i)->format('d/m/Y')]['text'] ?? ''}} -
- @php - if( $date->addDays($i)->dayOfWeek == 5) { - $i+=2; - } - @endphp - @endfor - @endfor - @endforeach -
-
- → -
-
-
--}} + v-bind:show-weekends='false'> @endsection