Merge branch 'dev' into 'master'

Dev

See merge request TheGamecraft/c-cms!112
This commit is contained in:
Mathieu Lagace
2020-10-02 17:50:43 +00:00
15 changed files with 250 additions and 726 deletions

View File

@@ -44,6 +44,7 @@ deploy_697:
environment:
name: escadron697
url: http://escadron697.ca
when: manual
only:
- master
@@ -60,6 +61,7 @@ deploy_736:
environment:
name: escadron736
url: http://736.exvps.ca
when: manual
only:
- master
@@ -76,6 +78,7 @@ deploy_227:
environment:
name: CCMRC227
url: http://227.exvps.ca
when: manual
only:
- master
@@ -92,6 +95,7 @@ deploy_117:
environment:
name: CCMRC117
url: http://117.exvps.ca
when: manual
only:
- master
@@ -108,5 +112,6 @@ deploy_dev:
environment:
name: dev
url: http://dev.exvps.ca
when: manual
only:
- dev
- dev

View File

@@ -143,4 +143,17 @@ class Event extends Model
{
return count($this->schedule["niveaux"]);
}
static function getMaxLevels($events)
{
$maxlevel = 0;
foreach ($events as $e)
{
if ($e->nbNiveau() > $maxlevel)
{
$maxlevel = $e->nbNiveau();
}
}
return $maxlevel;
}
}

View File

@@ -32,715 +32,11 @@ class CalendarController extends Controller
*/
public function index()
{
$this->listClass();
return view('admin.calendar.calendar_display');
}
public function generate()
public function indexTable()
{
$lang = str_replace('_', '-', app()->getLocale());
setlocale(LC_ALL, $lang.'_'.strtoupper($lang).'.utf8','fra');
$month = request('month');
$year = request('year');
$nextMonth = $month + 1;
$nextYear = $year;
if ($nextMonth > 12) {
$nextMonth = 1;
$nextYear = $nextYear + 1;
}
$prevMonth = $month - 1;
$prevYear = $year;
if ($prevMonth < 1) {
$prevMonth = 12;
$prevYear = $prevYear - 1;
}
$calendar = array();
$dayinmonth = cal_days_in_month(CAL_GREGORIAN, $month, $year);
$firstdaymonth = date("w", strtotime("01-".$month."-".$year));
$addingday = 0;
for ($i=$firstdaymonth ; $addingday < $dayinmonth ; $i++) {
$addingday = $addingday + 1;
$calendar[$i] = $addingday;
}
echo '<div class="table calendar">';
echo '<div class="thead-dark">';
echo '<div class="row"><div class="col-2"><a class="btn" onclick="generate('.$prevMonth.','.$prevYear.')"><i class="fa fa-chevron-left" aria-hidden="true"></i></a></div><div class="col-8">'.ucfirst(strftime("%B %Y", strtotime("01-".$month."-".$year))).'</div><div class="col-2"><a class="btn" onclick="generate('.$nextMonth.','.$nextYear.')"><i class="fa fa-chevron-right" aria-hidden="true"></i></a></div></div>';
echo '<div class="row calendar-head"><div style="width:14%;">Dimanche</div><div style="width:14%;">Lundi</div><div style="width:14%;">Mardi</div><div style="width:14%;">Mercredi</div><div style="width:14%;">Jeudi</div><div style="width:14%;">Vendredi</div><div style="width:14%;">Samedi</div></div>';
echo '</div>';
echo '<div class="card-body">';
for ($i=0; $i < 6 ; $i++)
{
echo '<div class="row">';
for ($a=0; $a < 7 ; $a++)
{
if (isset($calendar[(($i*7) + $a)]))
{
/** Date info */
$today = date("Y-m-d", strtotime($year."-".$month."-".$calendar[(($i*7) + $a)]));
$activityToday = Schedule::where('date','=',$today)->get();
/** If nothing today */
if ($activityToday->isEmpty()) {
echo '<a class="calendar-container calendar-empty" name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)"><div class="calendar-date">'.date("j", strtotime($today)).'</div></a>';
} else {
echo '<a class="calendar-container" name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)"><div class="calendar-date">'.date("j", strtotime($today)).'</div>';
$text = "";
foreach ($activityToday as $activity) {
echo '<div class="calendar-text" style="width:90%;height:3rem;">';
switch ($activity->type) {
case 'regular':
echo '<div class="row" style="color:orange;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-book fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'pilotage':
echo '<div class="row" style="color:#58D3F7;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-plane fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'drill':
echo '<div class="row" style="color:blue;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-trophy fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'music':
echo '<div class="row" style="color:green;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-music fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'biathlon':
echo '<div class="row" style="color:red;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-snowflake-o fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'marksmanship':
echo '<div class="row" style="color:grey;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-star fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'founding':
echo '<div class="row" style="color:#00FF40;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-usd fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'volunteer':
echo '<div class="row" style="color:#DF0174;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-handshake-o fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'other':
echo '<div class="row" style="color:#DF0174;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-handshake-o fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
default:
echo '<div class="row" style="color:'.\App\ComplementaryActivity::find($activity->type)->calendar_color.';"><span class="fa-stack fa-lg col-md-2">'.\App\ComplementaryActivity::find($activity->type)->calendar_icon.'</span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
}
echo '</div>';
}
echo '</a>';
}
} else {
echo '<div class="calendar-container¸calendar-empty" style="border:none !important; width:14%;"></div>';
}
}
echo '</div>';
}
}
public function load()
{
$lang = str_replace('_', '-', app()->getLocale());
setlocale(LC_ALL, $lang.'_'.strtoupper($lang).'.utf8','fra');
$Requestdate = request('date');
$url = str_replace("-","_", $Requestdate);
$today = Schedule::where('date','=',$Requestdate)->get();
$isEmpty = $today->isEmpty();
echo '<div class="modal-content"><div class="modal-header"><h5 class="modal-title" id="scrollmodalLabel">'.ucfirst(strftime("%A le %e %B %Y", strtotime($Requestdate))).'</h5><button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span></button></div><div class="modal-body">';
foreach ($today as $date) {
if ($date->data['is_event_mandatory'] == "on") {
$is_mandatory = "<div class='btn btn-block btn-warning m-l-10 m-b-10 float-right'>Activité obligatoire</div>";
} else {
$is_mandatory = "<div class='btn btn-block btn-primary m-l-10 m-b-10 float-right'>Activité n'est pas obligatoire</div>";
}
echo(
'<div class="row">'.
'<div class="col-7">'.
'<p>'.$date->data['event_name'].trans('calendar.begin_at').$date->data['event_begin_time'].trans('calendar.end_at').$date->data['event_end_time'].'</p>'.
'</div>'.
'<div class="col-3">'.
$is_mandatory.
'</div>'.
'<div class="col-1">'.
'<a href="/admin/calendar/edit/'.$date->id.'" type="button" class="btn btn-secondary"><i class="fa fa-cog"></i>&nbsp; Modifier</a>'.
'</div>'.
'<div class="col-1">'.
'<a type="button" class="btn btn-danger" onclick="deleteEvent('.$date->id.');"><i class="fa fa-times-circle" style="color:white;"></i></a>'.
'</div>'.
'</div>'.
'<p>'.$date->data['event_desc'].
'</p>'
);
if ($date->type == "regular") {
if($date->data['n1_p1_plandone'] == "on")
{
$isdone_n1_p1 = '<span class="badge badge-success">Remis</span></i>';
} else {
$isdone_n1_p1 = '<span class="badge badge-danger">Non remis</span>';
}
if($date->data['n1_p2_plandone'] == "on")
{
$isdone_n1_p2 = '<span class="badge badge-success">Remis</span></i>';
} else {
$isdone_n1_p2 = '<span class="badge badge-danger">Non remis</span>';
}
if($date->data['n2_p1_plandone'] == "on")
{
$isdone_n2_p1 = '<span class="badge badge-success">Remis</span></i>';
} else {
$isdone_n2_p1 = '<span class="badge badge-danger">Non remis</span>';
}
if($date->data['n2_p2_plandone'] == "on")
{
$isdone_n2_p2 = '<span class="badge badge-success">Remis</span></i>';
} else {
$isdone_n2_p2 = '<span class="badge badge-danger">Non remis</span>';
}
if($date->data['n3_p1_plandone'] == "on")
{
$isdone_n3_p1 = '<span class="badge badge-success">Remis</span></i>';
} else {
$isdone_n3_p1 = '<span class="badge badge-danger">Non remis</span>';
}
if($date->data['n3_p2_plandone'] == "on")
{
$isdone_n3_p2 = '<span class="badge badge-success">Remis</span></i>';
} else {
$isdone_n3_p2 = '<span class="badge badge-danger">Non remis</span>';
}
echo '<table class="table">
<thead class="thead-dark">
<tr>
<th>Niveau</th>
<th style="width:45%">1er Période</th>
<th style="width:45%">2e Période</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>
<table class="table float center" style="border:none; max-width:80%; margin:auto;">
<tbody>
<tr style="border:none;">
<td style="border:none; width:80%">'.User::find($date->data['n1_p1_instructor'])->fullname().'</td>
<td style="border:none;">'.$isdone_n1_p1.'</td>
<td style="border:none;"><a href="/admin/inventory/'.$date->id.'/1/1" type="button" class="btn btn-info"><i class="fa fa-archive" style="color:white;"></i></a></td>
</tr>
<tr style="border:none;">
<td style="border:none;width:80%">'.$date->data['n1_p1_ocom'].' - '.$date->data['n1_p1_name'].'</td>
<td style="border:none;">'.Local::find($date->data['n1_p1_local'])->name.'</td>
</tr>
</tbody>
</table>
</td>
<td>
<table class="table float center" style="border:none; max-width:80%; margin:auto;">
<tbody>
<tr style="border:none;">
<td style="border:none;width:80%">'.User::find($date->data['n1_p2_instructor'])->fullname().'</td>
<td style="border:none;">'.$isdone_n1_p2.'</td>
<td style="border:none;"><a href="/admin/inventory/'.$date->id.'/2/1" type="button" class="btn btn-info"><i class="fa fa-archive" style="color:white;"></i></a></td>
</tr>
<tr style="border:none;">
<td style="border:none;width:80%">'.$date->data['n1_p2_ocom'].' - '.$date->data['n1_p2_name'].'</td>
<td style="border:none;">'.Local::find($date->data['n1_p2_local'])->name.'</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<th>2</th>
<td>
<table class="table float center" style="border:none; max-width:80%; margin:auto;">
<tbody>
<tr style="border:none;">
<td style="border:none;width:80%">'.User::find($date->data['n2_p1_instructor'])->fullname().'</td>
<td style="border:none;">'.$isdone_n2_p1.'</td>
<td style="border:none;"><a href="/admin/inventory/'.$date->id.'/1/2" type="button" class="btn btn-info"><i class="fa fa-archive" style="color:white;"></i></a></td>
</tr>
<tr style="border:none;">
<td style="border:none;width:80%">'.$date->data['n2_p1_ocom'].' - '.$date->data['n2_p1_name'].'</td>
<td style="border:none;">'.Local::find($date->data['n2_p1_local'])->name.'</td>
</tr>
</tbody>
</table>
</td>
<td>
<table class="table float center" style="border:none; max-width:80%; margin:auto;">
<tbody>
<tr style="border:none;">
<td style="border:none;width:80%">'.User::find($date->data['n2_p2_instructor'])->fullname().'</td>
<td style="border:none;">'.$isdone_n2_p2.'</td>
<td style="border:none;"><a href="/admin/inventory/'.$date->id.'/2/2" type="button" class="btn btn-info"><i class="fa fa-archive" style="color:white;"></i></a></td>
</tr>
<tr style="border:none;">
<td style="border:none;width:80%">'.$date->data['n2_p2_ocom'].' - '.$date->data['n2_p2_name'].'</td>
<td style="border:none;">'.Local::find($date->data['n2_p2_local'])->name.'</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<th>3</th>
<td>
<table class="table float center" style="border:none; max-width:80%; margin:auto;">
<tbody>
<tr style="border:none;">
<td style="border:none;width:80%">'.User::find($date->data['n3_p1_instructor'])->fullname().'</td>
<td style="border:none;">'.$isdone_n3_p1.'</td>
<td style="border:none;"><a href="/admin/inventory/'.$date->id.'/1/3" type="button" class="btn btn-info"><i class="fa fa-archive" style="color:white;"></i></a></td>
</tr>
<tr style="border:none;">
<td style="border:none;width:80%">'.$date->data['n3_p1_ocom'].' - '.$date->data['n3_p1_name'].'</td>
<td style="border:none;">'.Local::find($date->data['n3_p1_local'])->name.'</td>
</tr>
</tbody>
</table>
</td>
<td>
<table class="table float center" style="border:none; max-width:80%; margin:auto;">
<tbody>
<tr style="border:none;">
<td style="border:none;width:80%">'.User::find($date->data['n3_p2_instructor'])->fullname().'</td>
<td style="border:none;">'.$isdone_n3_p2.'</td>
<td style="border:none;"><a href="/admin/inventory/'.$date->id.'/2/3" type="button" class="btn btn-info"><i class="fa fa-archive" style="color:white;"></i></a></td>
</tr>
<tr style="border:none;">
<td style="border:none;width:80%">'.$date->data['n3_p2_ocom'].' - '.$date->data['n3_p2_name'].'</td>
<td style="border:none;">'.Local::find($date->data['n3_p2_local'])->name.'</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>';
}
echo '<br><hr><br>';
}
echo '<a href="/admin/calendar/add/'.$url.'" type="button" class="btn btn-primary btn-lg btn-block">'.trans('calendar.add_to_schedule').'</a></div><div class="modal-footer"><button type="button" class="btn btn-secondary" data-dismiss="modal">'.trans('pagination.close').'</button></div></div>';
}
public function add($date)
{
$lang = str_replace('_', '-', app()->getLocale());
setlocale(LC_ALL, $lang.'_'.strtoupper($lang).'.utf8','fra');
$date = str_replace("_", "-", $date);
$UserList = User::all();
$LocalList = Local::all();
return view('admin.calendar.calendar_add' ,[
'RequestDate' => $date,
'Userslist' => $UserList,
'LocalsList' => $LocalList,
'ComplementaryActivity' => \App\ComplementaryActivity::all()]);
}
public function edit($id)
{
$schedule = Schedule::find($id);
$UserList = User::all();
$LocalList = Local::all();
return view('admin.calendar.calendar_edit' ,['RequestSchedule' => $schedule, 'Userslist' => $UserList, 'LocalsList' => $LocalList]);
}
public function store()
{
$schedule = new Schedule;
$schedule->date = request('event_date');
$schedule->type = request('event_type');
if(request('event_type') == "regular")
{
$eventData = [
"event_name" => request('event_name'),
"is_event_mandatory" => request('is_event_mandatory'),
"event_date" => request('event_date'),
"event_begin_time" => request('event_begin_time'),
"event_end_time" => request('event_end_time'),
"event_location" => request('event_location'),
"event_desc" => request('event_desc'),
"n1_p1_name" => request('n1_p1_name'),
"n1_p1_ocom" => request('n1_p1_ocom'),
"n1_p1_instructor" => request('n1_p1_instructor'),
"n1_p1_local" => request('n1_p1_local'),
"n1_p1_plandone" => request('n1_p1_plandone'),
"n1_p2_name" => request('n1_p2_name'),
"n1_p2_ocom" => request('n1_p2_ocom'),
"n1_p2_instructor" => request('n1_p2_instructor'),
"n1_p2_local" => request('n1_p2_local'),
"n1_p2_plandone" => request('n1_p2_plandone'),
"n2_p1_name" => request('n2_p1_name'),
"n2_p1_ocom" => request('n2_p1_ocom'),
"n2_p1_instructor" => request('n2_p1_instructor'),
"n2_p1_local" => request('n2_p1_local'),
"n2_p1_plandone" => request('n2_p1_plandone'),
"n2_p2_name" => request('n2_p2_name'),
"n2_p2_ocom" => request('n2_p2_ocom'),
"n2_p2_instructor" => request('n2_p2_instructor'),
"n2_p2_local" => request('n2_p2_local'),
"n2_p2_plandone" => request('n2_p2_plandone'),
"n3_p1_name" => request('n3_p1_name'),
"n3_p1_ocom" => request('n3_p1_ocom'),
"n3_p1_instructor" => request('n3_p1_instructor'),
"n3_p1_local" => request('n3_p1_local'),
"n3_p1_plandone" => request('n3_p1_plandone'),
"n3_p2_name" => request('n3_p2_name'),
"n3_p2_ocom" => request('n3_p2_ocom'),
"n3_p2_instructor" => request('n3_p2_instructor'),
"n3_p2_local" => request('n3_p2_local'),
"n3_p2_plandone" => request('n3_p2_plandone'),
];
} else {
$eventData = [
"event_name" => request('event_name'),
"is_event_mandatory" => request('is_event_mandatory'),
"event_date" => request('event_date'),
"event_begin_time" => request('event_begin_time'),
"event_end_time" => request('event_end_time'),
"event_location" => request('event_location'),
"event_desc" => request('event_desc'),
];
}
$schedule->data = $eventData;
$schedule->save();
$userToNotify = $schedule->getUserToNotify();
\Notification::send($userToNotify, new Alert(\Auth::User()->id,"Ajout de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date,"/admin/calendar"));
if(\App\Config::where('name','is_schedule_build')->first()->state == 1)
{
\Notification::send($userToNotify, new mail(\Auth::User(),"Ajout d'une activité a l'horaire",\Auth::User()->fullname()." à ajouté l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date));
}
return redirect('/admin/calendar');
}
public function patch($id)
{
$schedule = Schedule::find($id);
$original = clone($schedule);
$schedule->date = request('event_date');
$schedule->type = request('event_type');
if(request('event_type') == "regular")
{
$eventData = [
"event_name" => request('event_name'),
"is_event_mandatory" => request('is_event_mandatory'),
"event_date" => request('event_date'),
"event_begin_time" => request('event_begin_time'),
"event_end_time" => request('event_end_time'),
"event_location" => request('event_location'),
"event_desc" => request('event_desc'),
"n1_p1_name" => request('n1_p1_name'),
"n1_p1_ocom" => request('n1_p1_ocom'),
"n1_p1_instructor" => request('n1_p1_instructor'),
"n1_p1_local" => request('n1_p1_local'),
"n1_p1_plandone" => request('n1_p1_plandone'),
"n1_p2_name" => request('n1_p2_name'),
"n1_p2_ocom" => request('n1_p2_ocom'),
"n1_p2_instructor" => request('n1_p2_instructor'),
"n1_p2_local" => request('n1_p2_local'),
"n1_p2_plandone" => request('n1_p2_plandone'),
"n2_p1_name" => request('n2_p1_name'),
"n2_p1_ocom" => request('n2_p1_ocom'),
"n2_p1_instructor" => request('n2_p1_instructor'),
"n2_p1_local" => request('n2_p1_local'),
"n2_p1_plandone" => request('n2_p1_plandone'),
"n2_p2_name" => request('n2_p2_name'),
"n2_p2_ocom" => request('n2_p2_ocom'),
"n2_p2_instructor" => request('n2_p2_instructor'),
"n2_p2_local" => request('n2_p2_local'),
"n2_p2_plandone" => request('n2_p2_plandone'),
"n3_p1_name" => request('n3_p1_name'),
"n3_p1_ocom" => request('n3_p1_ocom'),
"n3_p1_instructor" => request('n3_p1_instructor'),
"n3_p1_local" => request('n3_p1_local'),
"n3_p1_plandone" => request('n3_p1_plandone'),
"n3_p2_name" => request('n3_p2_name'),
"n3_p2_ocom" => request('n3_p2_ocom'),
"n3_p2_instructor" => request('n3_p2_instructor'),
"n3_p2_local" => request('n3_p2_local'),
"n3_p2_plandone" => request('n3_p2_plandone'),
];
} else {
$eventData = [
"event_name" => request('event_name'),
"is_event_mandatory" => request('is_event_mandatory'),
"event_date" => request('event_date'),
"event_begin_time" => request('event_begin_time'),
"event_end_time" => request('event_end_time'),
"event_location" => request('event_location'),
"event_desc" => request('event_desc'),
];
}
$schedule->data = $eventData;
$schedule->save();
/** Notification */
$asChange = false;
$userToNotify = $schedule->getUserToNotify();
$changes = [];
$found = false;
if ($schedule->type == "regular") {
for ($p=1; $p < 3; $p++) {
for ($n=1; $n < 4; $n++) {
$pUser = \App\User::find($schedule->data['n'.$n.'_p'.$p.'_instructor']);
foreach ($userToNotify as $user) {
if ($user->id == $pUser->id) {
$found = true;
}
}
if (!$found) {
$userToNotify->push($pUser);
}
}
}
}
if ($schedule->data['event_begin_time'] != $original->data['event_begin_time']) {
array_push($changes,"L'heure de début a été modifié de ".$original->data['event_begin_time']." à ".$schedule->data['event_begin_time']);
}
if ($schedule->data['event_end_time'] != $original->data['event_end_time']) {
array_push($changes,"L'heure de fin a été modifié de ".$original->data['event_end_time']." à ".$schedule->data['event_end_time']);
}
if ($schedule->type != $original->type) {
array_push($changes,"Le type d'évenement a été modifié de ".$original->type." à ".$schedule->type);
}
if ($schedule->data['event_name'] != $original->data['event_name']) {
array_push($changes,"Le nom de l'évenement a été modifié de ".$original->data['event_name']." à ".$schedule->data['event_name']);
}
if ($schedule->data['is_event_mandatory'] != $original->data['is_event_mandatory']) {
if ($schedule->data['is_event_mandatory'] == "on") {
array_push($changes,"L'évenement est maintenant obligatoire");
} else {
array_push($changes,"L'évenement n'est plus obligatoire");
}
}
if ($schedule->data['event_location'] != $original->data['event_location']) {
array_push($changes,"Le lieu de l'évenement a été modifié de ".$original->data['event_location']." à ".$schedule->data['event_location']);
}
if ($schedule->data['event_desc'] != $original->data['event_desc']) {
array_push($changes,"La description de l'évenement a été modifié de ".$original->data['event_desc']." à ".$schedule->data['event_desc']);
}
if ($schedule->type == "regular") {
/** Check Instructor */
if ($schedule->data['n1_p1_instructor'] != $original->data['n1_p1_instructor']) {
array_push($changes,"L'instructeur du niveau 1 pour la première période a été changé de ".\App\User::find($original->data['n1_p1_instructor'])->fullname()." à ".\App\User::find($schedule->data['n1_p1_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n1_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n1_p1_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n1_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n1_p1_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n1_p2_instructor'] != $original->data['n1_p2_instructor']) {
array_push($changes,"L'instructeur du niveau 1 pour la deuxième période a été changé de ".\App\User::find($original->data['n1_p2_instructor'])->fullname()." à ".\App\User::find($schedule->data['n1_p2_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n1_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n1_p2_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n1_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n1_p2_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n2_p1_instructor'] != $original->data['n2_p1_instructor']) {
array_push($changes,"L'instructeur du niveau 2 pour la première période a été changé de ".\App\User::find($original->data['n2_p1_instructor'])->fullname()." à ".\App\User::find($schedule->data['n2_p1_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n2_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n2_p1_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n2_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n2_p1_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n2_p2_instructor'] != $original->data['n2_p2_instructor']) {
array_push($changes,"L'instructeur du niveau 2 pour la deuxième période a été changé de ".\App\User::find($original->data['n2_p2_instructor'])->fullname()." à ".\App\User::find($schedule->data['n2_p2_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n2_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n2_p2_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n2_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n2_p2_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n3_p1_instructor'] != $original->data['n3_p1_instructor']) {
array_push($changes,"L'instructeur du niveau 3 pour la première période a été changé de ".\App\User::find($original->data['n3_p1_instructor'])->fullname()." à ".\App\User::find($schedule->data['n3_p1_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n3_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n3_p1_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n3_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n3_p1_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n3_p2_instructor'] != $original->data['n3_p2_instructor']) {
array_push($changes,"L'instructeur du niveau 3 pour la deuxième période a été changé de ".\App\User::find($original->data['n3_p2_instructor'])->fullname()." à ".\App\User::find($schedule->data['n3_p2_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n3_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n3_p2_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n3_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n3_p2_name']." du ".$schedule->date." vous a été ajouté."));
}
/** Check OCOM */
if ($schedule->data['n1_p1_ocom'] != $original->data['n1_p1_ocom']) {
array_push($changes,"L'OCOM du niveau 1 pour la première période a été changé de ".$original->data['n1_p1_ocom']." à ".$schedule->data['n1_p1_ocom']);
\Notification::send(\App\User::find($schedule->data['n1_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n1_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n1_p1_ocom']));
}
if ($schedule->data['n1_p2_ocom'] != $original->data['n1_p2_ocom']) {
array_push($changes,"L'OCOM du niveau 1 pour la deuxième période a été changé de ".$original->data['n1_p2_ocom']." à ".$schedule->data['n1_p2_ocom']);
\Notification::send(\App\User::find($schedule->data['n1_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n1_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n1_p2_ocom']));
}
if ($schedule->data['n2_p1_ocom'] != $original->data['n2_p1_ocom']) {
array_push($changes,"L'OCOM du niveau 2 pour la première période a été changé de ".$original->data['n2_p1_ocom']." à ".$schedule->data['n2_p1_ocom']);
\Notification::send(\App\User::find($schedule->data['n2_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n2_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n2_p1_ocom']));
}
if ($schedule->data['n2_p2_ocom'] != $original->data['n2_p2_ocom']) {
array_push($changes,"L'OCOM du niveau 2 pour la deuxième période a été changé de ".$original->data['n2_p2_ocom']." à ".$schedule->data['n2_p2_ocom']);
\Notification::send(\App\User::find($schedule->data['n2_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n2_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n2_p2_ocom']));
}
if ($schedule->data['n3_p1_ocom'] != $original->data['n3_p1_ocom']) {
array_push($changes,"L'OCOM du niveau 3 pour la première période a été changé de ".$original->data['n3_p1_ocom']." à ".$schedule->data['n3_p1_ocom']);
\Notification::send(\App\User::find($schedule->data['n3_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n3_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n3_p1_ocom']));
}
if ($schedule->data['n3_p2_ocom'] != $original->data['n3_p2_ocom']) {
array_push($changes,"L'OCOM du niveau 3 pour la deuxième période a été changé de ".$original->data['n3_p2_ocom']." à ".$schedule->data['n3_p2_ocom']);
\Notification::send(\App\User::find($schedule->data['n3_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n3_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n3_p2_ocom']));
}
/** Check Local */
if ($schedule->data['n1_p1_local'] != $original->data['n1_p1_local']) {
array_push($changes,"Le local du niveau 1 pour la première période a été changé de ".$original->data['n1_p1_local']." à ".$schedule->data['n1_p1_local']);
}
if ($schedule->data['n1_p2_local'] != $original->data['n1_p2_local']) {
array_push($changes,"Le local du niveau 1 pour la deuxième période a été changé de ".$original->data['n1_p2_local']." à ".$schedule->data['n1_p2_local']);
}
if ($schedule->data['n2_p1_local'] != $original->data['n2_p1_local']) {
array_push($changes,"Le local du niveau 2 pour la première période a été changé de ".$original->data['n2_p1_local']." à ".$schedule->data['n2_p1_local']);
}
if ($schedule->data['n2_p2_local'] != $original->data['n2_p2_local']) {
array_push($changes,"Le local du niveau 2 pour la deuxième période a été changé de ".$original->data['n2_p2_local']." à ".$schedule->data['n2_p2_local']);
}
if ($schedule->data['n3_p1_local'] != $original->data['n3_p1_local']) {
array_push($changes,"Le local du niveau 3 pour la première période a été changé de ".$original->data['n3_p1_local']." à ".$schedule->data['n3_p1_local']);
}
if ($schedule->data['n3_p2_local'] != $original->data['n3_p2_local']) {
array_push($changes,"Le local du niveau 3 pour la deuxième période a été changé de ".$original->data['n3_p2_local']." à ".$schedule->data['n3_p2_local']);
}
/** Check Name */
if ($schedule->data['n1_p1_name'] != $original->data['n1_p1_name']) {
array_push($changes,"Le nom du cours niveau 1 pour la première période a été changé de ".$original->data['n1_p1_name']." à ".$schedule->data['n1_p1_name']);
\Notification::send(\App\User::find($schedule->data['n1_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n1_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n1_p1_name']));
}
if ($schedule->data['n1_p2_name'] != $original->data['n1_p2_name']) {
array_push($changes,"Le nom du cours niveau 1 pour la deuxième période a été changé de ".$original->data['n1_p2_name']." à ".$schedule->data['n1_p2_name']);
\Notification::send(\App\User::find($schedule->data['n1_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n1_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n1_p2_name']));
}
if ($schedule->data['n2_p1_name'] != $original->data['n2_p1_name']) {
array_push($changes,"Le nom du cours niveau 2 pour la première période a été changé de ".$original->data['n2_p1_name']." à ".$schedule->data['n2_p1_name']);
\Notification::send(\App\User::find($schedule->data['n2_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n2_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n2_p1_name']));
}
if ($schedule->data['n2_p2_name'] != $original->data['n2_p2_name']) {
array_push($changes,"Le nom du cours niveau 2 pour la deuxième période a été changé de ".$original->data['n2_p2_name']." à ".$schedule->data['n2_p2_name']);
\Notification::send(\App\User::find($schedule->data['n2_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n2_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n2_p2_name']));
}
if ($schedule->data['n3_p1_name'] != $original->data['n3_p1_name']) {
array_push($changes,"Le nom du cours niveau 3 pour la première période a été changé de ".$original->data['n3_p1_name']." à ".$schedule->data['n3_p1_name']);
\Notification::send(\App\User::find($schedule->data['n3_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n3_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n3_p1_name']));
}
if ($schedule->data['n3_p2_name'] != $original->data['n3_p2_name']) {
array_push($changes,"Le nom du cours niveau 3 pour la deuxième période a été changé de ".$original->data['n3_p2_name']." à ".$schedule->data['n3_p2_name']);
\Notification::send(\App\User::find($schedule->data['n3_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n3_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n3_p2_name']));
}
}
\Notification::send($userToNotify, new Alert(\Auth::User()->id,"Modification de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date,"/admin/calendar"));
$string_Change = "<ul>";
foreach ($changes as $value) {
$string_Change = $string_Change."<li>".$value."</li>";
}
$string_Change = $string_Change."</ul>";
if(\App\Config::where('name','is_schedule_build')->first()->state == 1)
{
\Notification::send($userToNotify, new mail(\Auth::User(),"Modification d'une activité a l'horaire",\Auth::User()->fullname()." à modifié l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date."<br>".$string_Change));
}
return redirect('/admin/calendar');
}
public function delete()
{
$id = request('id');
$schedule = Schedule::find($id);
$schedule->delete();
\Notification::send($userToNotify, new Alert(\Auth::User()->id,"Suppresion de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date,"/admin/calendar"));
if(\App\Config::where('name','is_schedule_build')->first()->state == 1)
{
\Notification::send($userToNotify, new mail(\Auth::User(),"Suppression d'une activité a l'horaire",\Auth::User()->fullname()." à supprimé l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date));
}
}
private function listClass()
{
$schedules = \App\Schedule::all();
$filtered_schedules = collect();
$classes = [];
foreach($schedules as $schedule)
{
if($schedule->type == "regular")
{
$filtered_schedules->push($schedule);
}
}
foreach($filtered_schedules as $schedule)
{
array_push($classes,$schedule->data['n1_p1_ocom']);
array_push($classes,$schedule->data['n1_p2_ocom']);
array_push($classes,$schedule->data['n2_p1_ocom']);
array_push($classes,$schedule->data['n2_p2_ocom']);
array_push($classes,$schedule->data['n3_p1_ocom']);
array_push($classes,$schedule->data['n3_p2_ocom']);
}
$filtered_classes = array_unique($classes);
return $filtered_classes;
}
public function show()
{
$date = request('date');
return view('admin.calendar.modal.show',['schedules' => \App\Schedule::all()->where('date',$date),'date' => $date]);
return view('admin.schedule.table.index',['events' => \App\Event::allThisYear()]);
}
}

View File

@@ -250,6 +250,22 @@ class UserController extends Controller
return redirect('/admin/profil')->with('success', 'Modification enregistré');
}
public function UserTelephone()
{
return view('admin.user.profil.telephone');
}
public function editUserTelephone()
{
$user = \Auth::user();
$user->telephone = request('telephone');
$user->save();
return redirect('/admin/profil')->with('success', 'Modification enregistré');
}
public function apiList()
{
$users = \App\User::all();

View File

@@ -5,7 +5,7 @@ current:
major: 3
minor: 2
patch: 5
prerelease: 14-g039b09b6
prerelease: 41-g465bac0e
buildmetadata: ''
commit: 41845
timestamp:

13
public/css/custom.css vendored
View File

@@ -243,6 +243,19 @@
height: 3rem;
overflow: hidden;
}
.schedule-table-ocom {
width: 200rem;
}
.table-borderless > tbody > tr > td {
border: none !important;
}
.schedule-table-week > td {
border: lightgrey 2px solid;
}
.autocomplete-items {
position: absolute;
border: 1px solid #d4d4d4;

13
resources/custom.css vendored
View File

@@ -243,6 +243,19 @@
height: 3rem;
overflow: hidden;
}
.schedule-table-ocom {
width: 200rem;
}
.table-borderless > tbody > tr > td {
border: none !important;
}
.schedule-table-week > td {
border: lightgrey 2px solid;
}
.autocomplete-items {
position: absolute;
border: 1px solid #d4d4d4;

View File

@@ -1,6 +1,11 @@
@extends('layouts.admin.main')
@section('content')
<div class="col-sm-12 col-lg-12 text-right">
<a class="btn btn-primary btn-round" href="/admin/schedule/table">
<i class="material-icons">table_view</i> Vue Tableau
</a>
</div>
<div class="col-sm-12 col-lg-12">
<div class="card">
<div class="card-body pb-0">

View File

@@ -14,14 +14,14 @@
<div class="col-md-12">
<div class="form-group">
<label>Nom</label>
<input class="form-control" type="text" name="name">
<input class="form-control" type="text" name="name" required>
<small class="form-text text-muted">Nom du grade</small>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label>Description</label>
<textarea id="desc" name="desc"></textarea>
<textarea id="desc" name="desc" required></textarea>
<small class="form-text text-muted">Description du grade</small>
</div>
</div>

View File

@@ -14,14 +14,14 @@
<div class="col-md-12">
<div class="form-group">
<label>Nom</label>
<input class="form-control" type="text" name="name" value="{{$job->name}}">
<input class="form-control" type="text" name="name" value="{{$job->name}}" required>
<small class="form-text text-muted">Nom du poste</small>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label>Description</label>
<textarea id="desc" name="desc">{!! $job->desc !!}</textarea>
<textarea id="desc" name="desc" required>{!! $job->desc !!}</textarea>
<small class="form-text text-muted">Description du poste</small>
</div>
</div>

View File

@@ -0,0 +1,131 @@
@extends('layouts.admin.main')
@section('content')
<div class="col-sm-12 col-lg-12 text-right">
<a class="btn btn-primary btn-round" href="/admin/schedule">
<i class="material-icons">today</i> Vue Horaire
</a>
</div>
<div class="col-sm-12 col-lg-12">
<div class="card">
<div class="card-header">
<h3 class="card-title">Horaire tableau</h3>
</div>
<div class="card-body" style="overflow: scroll;max-height: 79vh">
<div>
<table class="table table-bordered">
<thead class="table-dark">
<tr>
<th></th>
@for($i = 1;$i <= \App\Event::getMaxLevels($events); $i++)
<th>
Niveau {{$i}}
</th>
@endfor
</tr>
<tr>
<td>
<div class="row" style="width: 29rem">
<div class="col-2 pr-0">
Semaine
</div>
<div class="col-4">
Nom
</div>
<div class="col-3">
Date
</div>
<div class="col-3">
Période
</div>
</div>
</td>
@for($i = 1;$i <= \App\Event::getMaxLevels($events); $i++)
<td>
<div class="row" style="width: 35rem">
<div class="col-5">
OCOM - Description
</div>
<div class="col-3">
Instructeur
</div>
<div class="col-2">
Salle
</div>
<div class="col-2">
Materiel
</div>
</div>
</td>
@endfor
</tr>
</thead>
@foreach($events as $event)
<tr class="schedule-table-week">
<td>
<div class="row" style="width: 29rem">
<div class="col-2 text-center m-auto">
1
</div>
<div class="col-4 m-auto">
{{$event->name}}
</div>
<div class="col-3 m-auto">
{{$event->date_begin}}
</div>
<div class="col-3 m-auto pr-0">
@foreach($event->schedule["periodes"] as $periode)
<table class="table-borderless">
<tr>
<td style="height: 6rem;vertical-align: middle">
P{{$loop->iteration}} - {{ $periode['begin_time'] }} à {{ $periode['end_time'] }}
</td>
</tr>
</table>
@endforeach
</div>
</div>
</td>
@for($n = 1;$n <= $event->nbNiveau();$n++)
<td style="padding: 0px;">
@for($p = 1;$p <= $event->nbPeriode();$p++)
<table class="table-borderless">
<tr @if($p != $event->nbPeriode())class="border-bottom"@endif>
<td style="height: 6rem;">
<div class="row" style="width: 35rem">
@php($course = $event->course($p,$n))
<div class="col-5 m-auto">
@if(!$course->use_course())
<b>{{ $course->ocom }}</b> - {{ $course->name }}
@else
{{ $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>
</td>
</tr>
</table>
@endfor
</td>
@endfor
</tr>
@endforeach
</table>
</div>
</div>
</div>
</div>
@endsection
@section('custom_scripts')
@endsection

View File

@@ -43,18 +43,7 @@
</div>
<div class="col-md-12">
<p>Téléphone<br>
@if ($user->telephone != "Inconnu")
@php
$data = '+'.$user->telephone;
if(preg_match( '/^\+\d(\d{3})(\d{3})(\d{4})$/',$data,$matches))
{
$result = $matches[1] . '-' .$matches[2] . '-' . $matches[3];
echo $result;
}
@endphp
@else
Inconnu
@endif
{{ $user->telephone }}
</p>
</div>
<div class="col-md-12">
@@ -96,7 +85,7 @@
<div class="card-body">
<a name="changepsw" id="changepsw" class="btn btn-warning btn-block" href="/admin/profil/password" role="button">Modifier mon mot de passe</a>
<a class="btn btn-secondary btn-block" href="/admin/profil/avatar" role="button">Modifier ma photo de profil</a>
<button disabled class="btn btn-secondary btn-block" href="/admin/profil/phone" role="button">Modifier mon numéro de téléphone</button>
<a class="btn btn-secondary btn-block" href="/admin/profil/telephone" role="button">Modifier mon numéro de téléphone</a>
<a class="btn btn-secondary btn-block" href="/admin/profil/adress" role="button">Modifier mon adresse</a>
<button disabled class="btn btn-primary btn-block" href="/admin/profil/preference" role="button">Modifier mes préférences</button>
<a class="btn btn-danger btn-block" href="/logout" role="button">Déconnexion</a>

View File

@@ -0,0 +1,28 @@
@extends('layouts.admin.main')
@section('content')
<div class="col-sm-12">
<div class="card">
<div class="card-header">
<strong class="card-title">Modification de mon numéro de téléphone </strong>
</div>
<div class="card-body">
<form autocomplete="off" action="/admin/profil/edit/telephone" method="POST" data-parsley-validate novalidate>
@csrf
<div class="form-group">
<label for="adress">Entrer votre nouveau numero de téléphone</label>
<input type="text" class="form-control" name="telephone" id="telephone" placeholder="213-546-5401" pattern="([0-9]{3}-[0-9]{3}-[0-9]{4})*"
data-parsley-error-message="Le numéro de téléphone est invalide" required>
</div>
<button type="submit" id="submit" class="btn btn-primary">Enregistrer</button>
</form>
</div>
</div>
</div>
@endsection
@section('custom_scripts')
<script>
$('#form').parsley();
</script>
@endsection

View File

@@ -37,6 +37,12 @@ Breadcrumbs::for('admin.schedule', function ($trail) {
$trail->push('Horaire', route('admin.schedule'));
});
// Admin > Schedule > Table
Breadcrumbs::for('admin.schedule.tableview', function ($trail) {
$trail->parent('admin.schedule');
$trail->push('Tableau', route('admin.schedule.tableview'));
});
// Admin > Schedule > Add
Breadcrumbs::for('admin.schedule.add', function ($trail,$date) {
$trail->parent('admin.schedule');
@@ -269,6 +275,12 @@ Breadcrumbs::for('admin.profil.adress', function ($trail) {
$trail->push('Adresse', route('admin.profil.adress'));
});
// Admin > Profil > Telephone
Breadcrumbs::for('admin.profil.telephone', function ($trail) {
$trail->parent('admin.profil');
$trail->push('Téléphone', route('admin.profil.telephone'));
});
// Admin > Profil > Password
Breadcrumbs::for('admin.profil.psw', function ($trail) {
$trail->parent('admin.profil');
@@ -281,7 +293,7 @@ Breadcrumbs::for('admin.profil.courses', function ($trail) {
$trail->push('Mes cours', route('admin.profil.courses'));
});
// Admin > Profil > Adress
// Admin > Profil > Notification
Breadcrumbs::for('admin.profil.notifications', function ($trail) {
$trail->parent('admin.profil');
$trail->push('Mes notifications', route('admin.profil.notifications'));

View File

@@ -48,6 +48,7 @@ Route::middleware(['auth', 'firstlogin'])->name('admin.')->group(function () {
/** Schedule */
Route::get('/admin/schedule', 'CalendarController@index')->middleware('perm:schedule_see')->name('schedule');
Route::get('/admin/schedule/table', 'CalendarController@indexTable')->middleware('perm:schedule_see')->name('schedule.tableview');
Route::get('/admin/schedule/pdf/event/{id}', 'ScheduleController@printtopdf')->middleware('perm:schedule_see')->name('schedule.pdf');
Route::get('/admin/schedule/add/{date}', 'ScheduleController@create')->middleware('perm:schedule_add')->name('schedule.add');
Route::get('/admin/schedule/edit/{id}', 'EventController@edit')->middleware('perm:schedule_edit')->name('schedule.edit');
@@ -165,8 +166,10 @@ Route::middleware(['auth', 'firstlogin'])->name('admin.')->group(function () {
Route::get('/admin/profil/avatar', 'UserController@UserAvatar')->name('profil.avatar');
Route::get('/admin/profil/password', 'UserController@UserPassword')->name('profil.psw');
Route::get('/admin/profil/adress', 'UserController@UserAdress')->name('profil.adress');
Route::get('/admin/profil/telephone', 'UserController@UserTelephone')->name('profil.telephone');
Route::get('/admin/profil/notifications', 'UserController@userNotification')->name('profil.notifications');
Route::post('/admin/profil/edit/adress', 'UserController@editUserAdress');
Route::post('/admin/profil/edit/telephone', 'UserController@editUserTelephone');
Route::post('/admin/profil/edit/password', 'UserController@editUserPassword');
Route::get('/admin/profil/edit/avatar/{id}', 'UserController@editUserAvatar');
Route::get('/admin/profil/{id?}', 'UserController@showUserProfil')->name('profil');