show linked model infos
This commit is contained in:
parent
191f6786d1
commit
d9b058a1a7
3 changed files with 56 additions and 75 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -29,6 +29,12 @@
|
|||
{{users[index].name}}
|
||||
</th>
|
||||
<td v-for="day in days" :class="'dynCell day '+user[key][day.key].type.value+ ' ' +day.eday" :key="day.key">
|
||||
<b v-if="user[key][day.key]['model_lie']['value']">
|
||||
<a target="_blank" class="text-light bg-dark"
|
||||
:href="getCellObjectInfo(user[key][day.key]).url">
|
||||
{{user[key][day.key]['id_lie']['label']}}
|
||||
</a>
|
||||
</b><br/>
|
||||
{{user[key][day.key]['text']}}
|
||||
<button class="btn btn-edit" type="button" data-bs-toggle="modal"
|
||||
data-bs-target="#editModal" @click="setModalData(index,key,day.key,user[key][day.key]['id'])">✎</button>
|
||||
|
|
@ -39,27 +45,6 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div :class="'col-10 grid-week grid-'+weeksCells.length+'week'">
|
||||
<!--line header 1 -->
|
||||
<div class="empty"></div>
|
||||
<div class="week" v-for="item in weeksCells">
|
||||
S {{item.num}} - {{item.month}} {{item.year}}
|
||||
</div>
|
||||
<!--line header 2 -->
|
||||
<div v-for="day in days" :class="'day '+day.eday">
|
||||
{{day.day}} {{day.num}}
|
||||
</div>
|
||||
<template v-for="(user,index) in schedules">
|
||||
<div class="name">{{users[index].name}}</div>
|
||||
<template v-for="(slot,key) in user">
|
||||
<div v-for="day in days" :class="'day '+user[key][day.key].type.value+ ' ' +day.eday">
|
||||
{{user[key][day.key]['text']}}
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
<div class="col-1 text-center">
|
||||
<a class="sticky-top btn btn-primary mt-5" @click="goToPlanning(true)">→</a>
|
||||
</div>
|
||||
|
|
@ -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' , {
|
||||
|
|
|
|||
|
|
@ -24,54 +24,7 @@
|
|||
db-models='@json(CellModel::toArray())'
|
||||
db-users='@json($users)'
|
||||
weeks='@json($weekCells)'
|
||||
v-bind:show-weekends='true'></schedule-component>
|
||||
{{-- <div class="plannings">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-1 text-center">
|
||||
<a class="sticky-top btn btn-primary mt-5" href="{{route('schedule.index')}}?p={{$date->addDays(-7)->format('d/m/Y')}}">←</a>
|
||||
</div>
|
||||
<div class="col-10 grid-week grid-{{count($weekCells)}}week">
|
||||
<!--line header 1 -->
|
||||
<div class="empty"></div>
|
||||
@for ($i = 0; $i < count($weekCells); $i++)
|
||||
<div class="week">
|
||||
S{{$date->addDays($i*7)->weekOfYear}} - {{$date->addDays($i*7)->shortLocaleMonth}} {{$date->addDays($i*7)->format('Y')}}
|
||||
</div>
|
||||
@endfor
|
||||
<!--line header 2 -->
|
||||
@for ($i = 0; $i < (count($weekCells)*7); $i++)
|
||||
<div class="day {{$date->addDays($i)->shortEnglishDayOfWeek}}">
|
||||
{{$date->addDays($i)->localeDayOfWeek}} {{$date->addDays($i)->format('d')}}
|
||||
</div>
|
||||
@php
|
||||
if( $date->addDays($i)->dayOfWeek == 5) {
|
||||
$i+=2;
|
||||
}
|
||||
@endphp
|
||||
@endfor
|
||||
@foreach($users as $id => $user)
|
||||
<!-- user $j -->
|
||||
<div class="name">{{$user["name"]}}</div>
|
||||
@for ($k=1; $k < 5; $k++)
|
||||
<!--line slot $k-->
|
||||
@for ($i = 0; $i < (count($weekCells)*7); $i++)
|
||||
<div class="day {{ $arSchedules[$id][$k][$date->addDays($i)->format('d/m/Y')]['type'] ?? '' }} {{$date->addDays($i)->shortEnglishDayOfWeek}}">
|
||||
{{$arSchedules[$id][$k][$date->addDays($i)->format('d/m/Y')]['text'] ?? ''}}
|
||||
</div>
|
||||
@php
|
||||
if( $date->addDays($i)->dayOfWeek == 5) {
|
||||
$i+=2;
|
||||
}
|
||||
@endphp
|
||||
@endfor
|
||||
@endfor
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="col-1 text-center">
|
||||
<a class="sticky-top btn btn-primary mt-5" href="{{route('schedule.index')}}?p={{$date->addDays(7)->format('d/m/Y')}}">→</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>--}}
|
||||
v-bind:show-weekends='false'></schedule-component>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue