Merge branch 'schedule-table' into 'master'

Schedule Table view update & permissions update

See merge request TheGamecraft/c-cms!114
This commit is contained in:
Mathieu Lagace
2020-10-02 22:09:26 +00:00
7 changed files with 125 additions and 74 deletions

View File

@@ -96,7 +96,7 @@ class Event extends Model
} }
$error = new \App\Course(); $error = new \App\Course();
$error->name = "Cours manquant dans la BD"; $error->name = "Cours manquant dans la BD";
$error->ocom = "ERROR"; $error->ocom = "ERREUR";
$error->periode = $p; $error->periode = $p;
$error->level = $l; $error->level = $l;
$error->location = ""; $error->location = "";

View File

@@ -37,6 +37,6 @@ class CalendarController extends Controller
public function indexTable() public function indexTable()
{ {
return view('admin.schedule.table.index',['events' => \App\Event::allThisYear()]); return view('admin.schedule.table.index',['events' => \App\Event::allThisYear()->sortBy('date_begin')]);
} }
} }

View File

@@ -116,8 +116,43 @@ class Permission extends Model
], ],
'config_edit' => [ 'config_edit' => [
'ckey' => 'config_edit', 'ckey' => 'config_edit',
'communName' => 'Modifier les configurations', 'communName' => 'Modifier les configurations générales',
'desc' => 'L\'utilisateur peut-il modifier les configurations', 'desc' => 'L\'utilisateur peut-il modifier les configurations générales',
'icon' => 'fa-eye',
'valeur' => 0
],
'config_edit_instruction' => [
'ckey' => 'config_edit_instruction',
'communName' => 'Modifier les configurations de l\'instruction',
'desc' => 'L\'utilisateur peut-il modifier les configurations de l\'instruction',
'icon' => 'fa-eye',
'valeur' => 0
],
'config_edit_administration' => [
'ckey' => 'config_edit_administration',
'communName' => 'Modifier les configurations de l\'administration',
'desc' => 'L\'utilisateur peut-il modifier les configurations de l\'administration',
'icon' => 'fa-eye',
'valeur' => 0
],
'config_edit_rank' => [
'ckey' => 'config_edit_rank',
'communName' => 'Modifier les configurations des grades',
'desc' => 'L\'utilisateur peut-il modifier les configurations des grades',
'icon' => 'fa-eye',
'valeur' => 0
],
'config_edit_job' => [
'ckey' => 'config_edit_job',
'communName' => 'Modifier les configurations des postes',
'desc' => 'L\'utilisateur peut-il modifier les configurations des postes',
'icon' => 'fa-eye',
'valeur' => 0
],
'config_edit_customization' => [
'ckey' => 'config_edit_customization',
'communName' => 'Modifier les configurations de l\'apparence du site',
'desc' => 'L\'utilisateur peut-il modifier les configurations de l\'apparence du site',
'icon' => 'fa-eye', 'icon' => 'fa-eye',
'valeur' => 0 'valeur' => 0
] ]
@@ -167,6 +202,13 @@ class Permission extends Model
'icon' => 'fa-eye', 'icon' => 'fa-eye',
'valeur' => 0 'valeur' => 0
], ],
'stats_instruction_see' => [
'ckey' => 'stats_instruction_see',
'communName' => 'Voir les statistiques de l\'instruction',
'desc' => 'L\'utilisateur peut-il voir les statistiques de l\'instruction',
'icon' => 'fa-eye',
'valeur' => 0
],
'course_see_all' => [ 'course_see_all' => [
'ckey' => 'course_see_all', 'ckey' => 'course_see_all',
'communName' => 'Voir les cours de tous les utilisateurs', 'communName' => 'Voir les cours de tous les utilisateurs',

View File

@@ -69,7 +69,7 @@
@else @else
@foreach ($futureEvent as $event) @foreach ($futureEvent as $event)
<div class="col-md-12"> <div class="col-md-12">
<div class="alert" style="background-color: @if($event->calendar_color == null){{ \App\ComplementaryActivity::find($event->type)->calendar_color}} @else {{$event->calendar_color}} @endif"> <div class="alert cursor" style="background-color: @if($event->calendar_color == null){{ \App\ComplementaryActivity::find($event->type)->calendar_color}} @else {{$event->calendar_color}} @endif" onclick="navigate('schedule?e={{$event->id}}')">
<div class="row text-white"> <div class="row text-white">
<div class="col-md-2 text-capitalize m-auto d-none d-md-flex"> <div class="col-md-2 text-capitalize m-auto d-none d-md-flex">
<h3 class="m-0 p-0" style="margin-top: -0.5rem !important;">@if($event->calendar_icon == null) {!! \App\ComplementaryActivity::find($event->type)->calendar_icon !!} @else <i class="{{$event->calendar_icon}}"></i> @endif</h3> <h3 class="m-0 p-0" style="margin-top: -0.5rem !important;">@if($event->calendar_icon == null) {!! \App\ComplementaryActivity::find($event->type)->calendar_icon !!} @else <i class="{{$event->calendar_icon}}"></i> @endif</h3>

View File

@@ -65,59 +65,68 @@
<td> <td>
<div class="row" style="width: 29rem"> <div class="row" style="width: 29rem">
<div class="col-2 text-center m-auto"> <div class="col-2 text-center m-auto">
1 {{ $loop->iteration }}
</div> </div>
<div class="col-4 m-auto"> <div class="col-4 m-auto">
{{$event->name}} {{$event->name}}
</div> </div>
<div class="col-3 m-auto"> <div class="col-3 m-auto">
{{$event->date_begin}} {{$event->date_begin}} à {{ $event->date_end }}
</div> </div>
<div class="col-3 m-auto pr-0"> <div class="col-3 m-auto pr-0">
@foreach($event->schedule["periodes"] as $periode) @if($event->use_schedule == 1)
<table class="table-borderless"> @foreach($event->schedule["periodes"] as $periode)
<tr> <table class="table-borderless">
<td style="height: 6rem;vertical-align: middle"> <tr>
P{{$loop->iteration}} - {{ $periode['begin_time'] }} à {{ $periode['end_time'] }} <td style="height: 6rem;vertical-align: middle">
</td> P{{$loop->iteration}} - {{ $periode['begin_time'] }} à {{ $periode['end_time'] }}
</tr> </td>
</table> </tr>
@endforeach </table>
@endforeach
@endif
</div> </div>
</div> </div>
</td> </td>
@for($n = 1;$n <= $event->nbNiveau();$n++) @if($event->use_schedule == 1)
<td style="padding: 0px;"> @for($n = 1;$n <= $event->nbNiveau();$n++)
@for($p = 1;$p <= $event->nbPeriode();$p++) <td style="padding: 0px;">
<table class="table-borderless"> @for($p = 1;$p <= $event->nbPeriode();$p++)
<tr @if($p != $event->nbPeriode())class="border-bottom"@endif> <table class="table-borderless">
<td style="height: 6rem;"> <tr @if($p != $event->nbPeriode())class="border-bottom"@endif>
<div class="row" style="width: 35rem"> <td style="height: 6rem;">
@php($course = $event->course($p,$n)) <div class="row" style="width: 35rem">
<div class="col-5 m-auto"> @php($course = $event->course($p,$n))
@if(!$course->use_course()) <div class="col-5 m-auto">
<b>{{ $course->ocom }}</b> - {{ $course->name }} @if(!$course->use_course())
@else <b>{{ $course->ocom }}</b> - {{ $course->name }}
{{ $course->desc }} @else
@endif {{ $course->desc }}
@endif
</div>
<div class="col-3">
{{ $course->instructor() }}
</div>
<div class="col-2">
{{ $course->location }}
</div>
<div class="col-2">
NA
</div>
@php($course = null)
</div> </div>
<div class="col-3"> </td>
{{ $course->instructor() }} </tr>
</div> </table>
<div class="col-2"> @endfor
{{ $course->location }} </td>
</div> @endfor
<div class="col-2"> @else
NA <td colspan="{{\App\Event::getMaxLevels($events)}}">
</div> {!! $event->desc !!}
@php($course = null)
</div>
</td>
</tr>
</table>
@endfor
</td> </td>
@endfor @endif
</tr> </tr>
@endforeach @endforeach
</table> </table>

View File

@@ -95,7 +95,7 @@ $sidebar = [
'Configuration' => [ 'Configuration' => [
'route' => null, 'route' => null,
'icon' => 'menu_book', 'icon' => 'menu_book',
'perm' => 'config_edit', 'perm' => 'config_see',
'child' => [ 'child' => [
'Général' => [ 'Général' => [
'route' => 'admin.config.general', 'route' => 'admin.config.general',
@@ -136,7 +136,7 @@ $sidebar = [
'Apparence' => [ 'Apparence' => [
'route' => 'admin.config.customisation', 'route' => 'admin.config.customisation',
'icon' => 'fas fa-palette', 'icon' => 'fas fa-palette',
'perm' => 'config_edit_instruction', 'perm' => 'config_edit_customization',
'child' => null 'child' => null
] ]
] ]

View File

@@ -57,7 +57,7 @@ Route::middleware(['auth', 'firstlogin'])->name('admin.')->group(function () {
/** Statistique */ /** Statistique */
Route::get('/admin/stats/log', 'LogController@index')->middleware('perm:stats_see')->name('stats.log'); Route::get('/admin/stats/log', 'LogController@index')->middleware('perm:stats_see')->name('stats.log');
Route::get('/admin/stats/instruction', 'StatsController@instruction')->middleware('perm:stats_see')->name('stats.instruction'); Route::get('/admin/stats/instruction', 'StatsController@instruction')->middleware('perm:stats_instruction_see')->name('stats.instruction');
/** Message */ /** Message */
Route::get('/admin/message', 'MessageController@index')->middleware('perm:msg_see')->name('message'); Route::get('/admin/message', 'MessageController@index')->middleware('perm:msg_see')->name('message');
@@ -75,39 +75,39 @@ Route::middleware(['auth', 'firstlogin'])->name('admin.')->group(function () {
Route::post('/admin/user/edit/{id}', 'UserController@update')->middleware('perm:user_edit'); Route::post('/admin/user/edit/{id}', 'UserController@update')->middleware('perm:user_edit');
/** Config */ /** Config */
Route::get('/admin/config/instruction', 'ScheduleController@index')->middleware('perm:config_edit')->name('config.schedule'); Route::get('/admin/config/instruction', 'ScheduleController@index')->middleware('perm:config_edit_instruction')->name('config.schedule');
Route::get('/admin/config/instruction/event_type/create', 'EventTypeController@create')->middleware('perm:config_edit')->name('config.schedule.event_type.create'); Route::get('/admin/config/instruction/event_type/create', 'EventTypeController@create')->middleware('perm:config_edit_instruction')->name('config.schedule.event_type.create');
Route::post('/admin/config/instruction/event_type/create', 'EventTypeController@store')->middleware('perm:config_edit'); Route::post('/admin/config/instruction/event_type/create', 'EventTypeController@store')->middleware('perm:config_edit_instruction');
Route::get('/admin/config/instruction/event_type/{id}', 'EventTypeController@show')->middleware('perm:config_edit')->name('config.schedule.event_type'); Route::get('/admin/config/instruction/event_type/{id}', 'EventTypeController@show')->middleware('perm:config_edit_instruction')->name('config.schedule.event_type');
Route::patch('/admin/config/instruction/event_type/{id}', 'EventTypeController@update')->middleware('perm:config_edit'); Route::patch('/admin/config/instruction/event_type/{id}', 'EventTypeController@update')->middleware('perm:config_edit_instruction');
Route::patch('/admin/config/instruction', 'ScheduleController@update')->middleware('perm:config_edit'); Route::patch('/admin/config/instruction', 'ScheduleController@update')->middleware('perm:config_edit_instruction');
Route::get('/admin/config/activity', 'ComplementaryActivityController@index')->middleware('perm:config_edit')->name('config.complementary-activity'); Route::get('/admin/config/activity', 'ComplementaryActivityController@index')->middleware('perm:config_edit_administration')->name('config.complementary-activity');
Route::get('/admin/config/activity/add', 'ComplementaryActivityController@create')->middleware('perm:config_edit')->name('config.complementary-activity.add'); Route::get('/admin/config/activity/add', 'ComplementaryActivityController@create')->middleware('perm:config_edit_administration')->name('config.complementary-activity.add');
Route::post('/admin/config/activity/add', 'ComplementaryActivityController@store')->middleware('perm:config_edit'); Route::post('/admin/config/activity/add', 'ComplementaryActivityController@store')->middleware('perm:config_edit_administration');
Route::get('/admin/config/activity/edit/{id}', 'ComplementaryActivityController@edit')->middleware('perm:config_edit')->name('config.complementary-activity.edit'); Route::get('/admin/config/activity/edit/{id}', 'ComplementaryActivityController@edit')->middleware('perm:config_edit_administration')->name('config.complementary-activity.edit');
Route::post('/admin/config/activity/edit/{id}', 'ComplementaryActivityController@update')->middleware('perm:config_edit'); Route::post('/admin/config/activity/edit/{id}', 'ComplementaryActivityController@update')->middleware('perm:config_edit_administration');
Route::post('/admin/config/general/edit', 'ConfigController@update')->middleware('perm:config_edit'); Route::post('/admin/config/general/edit', 'ConfigController@update')->middleware('perm:config_edit');
Route::get('/admin/config/', 'ConfigController@index')->middleware('perm:config_edit')->name('config.general'); Route::get('/admin/config/', 'ConfigController@index')->middleware('perm:config_edit')->name('config.general');
Route::get('/admin/config/customisation', 'ConfigController@customisation')->middleware('perm:config_edit')->name('config.customisation'); Route::get('/admin/config/customisation', 'ConfigController@customisation')->middleware('perm:config_edit_customization')->name('config.customisation');
Route::post('/admin/config/customisation', 'ConfigController@customisationUpdate')->middleware('perm:config_edit'); Route::post('/admin/config/customisation', 'ConfigController@customisationUpdate')->middleware('perm:config_edit_customization');
Route::get('/admin/config/ranks', 'RankController@index')->middleware('perm:config_edit')->name('config.rank'); Route::get('/admin/config/ranks', 'RankController@index')->middleware('perm:config_edit_rank')->name('config.rank');
Route::get('/admin/config/ranks/add', 'RankController@create')->middleware('perm:config_edit')->name('config.rank.add'); Route::get('/admin/config/ranks/add', 'RankController@create')->middleware('perm:config_edit_rank')->name('config.rank.add');
Route::post('/admin/config/ranks/add', 'RankController@store')->middleware('perm:config_edit'); Route::post('/admin/config/ranks/add', 'RankController@store')->middleware('perm:config_edit_rank');
Route::get('/admin/config/ranks/{id}', 'RankController@show')->middleware('perm:config_edit')->name('config.rank.edit'); Route::get('/admin/config/ranks/{id}', 'RankController@show')->middleware('perm:config_edit_rank')->name('config.rank.edit');
Route::post('/admin/config/ranks/{id}', 'RankController@update')->middleware('perm:config_edit'); Route::post('/admin/config/ranks/{id}', 'RankController@update')->middleware('perm:config_edit_rank');
Route::get('/admin/config/jobs', 'JobController@index')->middleware('perm:config_edit')->name('config.jobs'); Route::get('/admin/config/jobs', 'JobController@index')->middleware('perm:config_edit_job')->name('config.jobs');
Route::get('/admin/config/jobs/add', 'JobController@create')->middleware('perm:config_edit')->name('config.jobs.add'); Route::get('/admin/config/jobs/add', 'JobController@create')->middleware('perm:config_edit_job')->name('config.jobs.add');
Route::post('/admin/config/jobs/add', 'JobController@store')->middleware('perm:config_edit'); Route::post('/admin/config/jobs/add', 'JobController@store')->middleware('perm:config_edit_job');
Route::get('/admin/config/jobs/{id}', 'JobController@edit')->middleware('perm:config_edit')->name('config.jobs.edit'); Route::get('/admin/config/jobs/{id}', 'JobController@edit')->middleware('perm:config_edit_job')->name('config.jobs.edit');
Route::post('/admin/config/jobs/{id}', 'JobController@update')->middleware('perm:config_edit'); Route::post('/admin/config/jobs/{id}', 'JobController@update')->middleware('perm:config_edit_job');
Route::get('/admin/config/files', 'ConfigController@showfilesConfig')->middleware('perm:config_edit')->name('config.files'); Route::get('/admin/config/files', 'ConfigController@showfilesConfig')->middleware('perm:config_edit')->name('config.files');
Route::post('/admin/config/files', 'ConfigController@editfilesConfig')->middleware('perm:config_edit'); Route::post('/admin/config/files', 'ConfigController@editfilesConfig')->middleware('perm:config_edit');
/** Public page */ /** Public page */
Route::get('/admin/public/edit/{config}', 'PublicController@edit')->middleware('perm:config_edit'); Route::get('/admin/public/edit/{config}', 'PublicController@edit')->middleware('perm:config_edit_customization');
Route::post('/admin/public/edit/{config}', 'PublicController@update')->middleware('perm:config_edit'); Route::post('/admin/public/edit/{config}', 'PublicController@update')->middleware('perm:config_edit_customization');
/** Picture */ /** Picture */
Route::get('/admin/picture', 'PictureController@indexAdmin')->middleware('perm:picture_see')->name('picture'); Route::get('/admin/picture', 'PictureController@indexAdmin')->middleware('perm:picture_see')->name('picture');