mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 10:49:10 -04:00
Merge branch 'dev' into 'master'
Dev See merge request TheGamecraft/c-cms!17
This commit is contained in:
@@ -34,6 +34,8 @@ class CalendarController extends Controller
|
|||||||
{
|
{
|
||||||
Log::saveLog("Affichage de l'horaire");
|
Log::saveLog("Affichage de l'horaire");
|
||||||
|
|
||||||
|
$this->listClass();
|
||||||
|
|
||||||
return view('admin.calendar.calendar_display');
|
return view('admin.calendar.calendar_display');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,11 +97,10 @@ class CalendarController extends Controller
|
|||||||
if ($activityToday->isEmpty()) {
|
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>';
|
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 {
|
} 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)">';
|
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 = "";
|
$text = "";
|
||||||
foreach ($activityToday as $activity) {
|
foreach ($activityToday as $activity) {
|
||||||
echo '<div class="calendar-date">'.date("j", strtotime($today)).'</div>
|
echo '<div class="calendar-text" style="width:90%;height:3rem;">';
|
||||||
<div class="calendar-text" style="width:90%;">';
|
|
||||||
switch ($activity->type) {
|
switch ($activity->type) {
|
||||||
case 'regular':
|
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>";
|
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>";
|
||||||
@@ -458,6 +459,7 @@ class CalendarController extends Controller
|
|||||||
public function patch($id)
|
public function patch($id)
|
||||||
{
|
{
|
||||||
$schedule = Schedule::find($id);
|
$schedule = Schedule::find($id);
|
||||||
|
$original = clone($schedule);
|
||||||
|
|
||||||
$schedule->date = request('event_date');
|
$schedule->date = request('event_date');
|
||||||
$schedule->type = request('event_type');
|
$schedule->type = request('event_type');
|
||||||
@@ -519,6 +521,171 @@ class CalendarController extends Controller
|
|||||||
|
|
||||||
$schedule->save();
|
$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));
|
||||||
|
}
|
||||||
|
|
||||||
|
Log::saveLog("Modification de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date);
|
||||||
|
|
||||||
return redirect('/admin/calendar');
|
return redirect('/admin/calendar');
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -530,5 +697,44 @@ class CalendarController extends Controller
|
|||||||
$schedule = Schedule::find($id);
|
$schedule = Schedule::find($id);
|
||||||
|
|
||||||
$schedule->delete();
|
$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));
|
||||||
|
}
|
||||||
|
|
||||||
|
Log::saveLog("Suppression de 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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -173,4 +173,46 @@ class UserController extends Controller
|
|||||||
$notification->delete();
|
$notification->delete();
|
||||||
return redirect(request('url'));
|
return redirect(request('url'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function notificationmarkALL()
|
||||||
|
{
|
||||||
|
$notifications = \Auth::User()->unreadNotifications;
|
||||||
|
foreach($notifications as $notification)
|
||||||
|
{
|
||||||
|
$notification->delete();
|
||||||
|
}
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function notificationmarkECC($id)
|
||||||
|
{
|
||||||
|
$notification = \Auth::User()->unreadNotifications->where('id',$id)->first();
|
||||||
|
|
||||||
|
$notification->delete();
|
||||||
|
return redirect('/ecc');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function showUserProfil($id = 0)
|
||||||
|
{
|
||||||
|
if ($id == 0) {
|
||||||
|
$id = \Auth::User()->id;
|
||||||
|
}
|
||||||
|
return view('admin.user.profil',['user' => \App\User::find($id)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function editUserAvatar($id)
|
||||||
|
{
|
||||||
|
$user = \Auth::User();
|
||||||
|
|
||||||
|
$user->avatar = $id;
|
||||||
|
|
||||||
|
$user->save();
|
||||||
|
|
||||||
|
return redirect('/admin/profil/avatar')->with('status', 'Modification enregistré');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function UserAvatar()
|
||||||
|
{
|
||||||
|
return view('admin.user.profil.avatar');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
6
public/assets/admin/assets/scss/style.css
vendored
6
public/assets/admin/assets/scss/style.css
vendored
@@ -2253,7 +2253,6 @@ header .form-inline {
|
|||||||
vertical-align: middle !important;
|
vertical-align: middle !important;
|
||||||
border: solid 1px #d9d9d9 !important;
|
border: solid 1px #d9d9d9 !important;
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
display: flex;
|
|
||||||
}
|
}
|
||||||
.calendar-date{
|
.calendar-date{
|
||||||
float: left;
|
float: left;
|
||||||
@@ -2261,11 +2260,14 @@ header .form-inline {
|
|||||||
}
|
}
|
||||||
.calendar-text{
|
.calendar-text{
|
||||||
float: right;
|
float: right;
|
||||||
margin-top: 1.5rem;
|
|
||||||
}
|
}
|
||||||
.calendar-text > div {
|
.calendar-text > div {
|
||||||
text-align:start;
|
text-align:start;
|
||||||
}
|
}
|
||||||
|
.calendar_event_name {
|
||||||
|
height: 3rem;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
@media only screen and (max-width: 800px) {
|
@media only screen and (max-width: 800px) {
|
||||||
.calendar-container{
|
.calendar-container{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
6
public/assets/js/calendar/calendar.js
vendored
6
public/assets/js/calendar/calendar.js
vendored
@@ -180,7 +180,7 @@ function switchType()
|
|||||||
eventBeginTime.value = "";
|
eventBeginTime.value = "";
|
||||||
eventEndTime.value = "";
|
eventEndTime.value = "";
|
||||||
eventLocation.value = "";
|
eventLocation.value = "";
|
||||||
eventDesc.value = "";
|
eventDesc.value = "Financement";
|
||||||
divSpecialSection.style.display = "none";
|
divSpecialSection.style.display = "none";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -190,7 +190,7 @@ function switchType()
|
|||||||
eventBeginTime.value = "";
|
eventBeginTime.value = "";
|
||||||
eventEndTime.value = "";
|
eventEndTime.value = "";
|
||||||
eventLocation.value = "";
|
eventLocation.value = "";
|
||||||
eventDesc.value = "";
|
eventDesc.value = "Bénévolat";
|
||||||
divSpecialSection.style.display = "none";
|
divSpecialSection.style.display = "none";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -200,7 +200,7 @@ function switchType()
|
|||||||
eventBeginTime.value = "";
|
eventBeginTime.value = "";
|
||||||
eventEndTime.value = "";
|
eventEndTime.value = "";
|
||||||
eventLocation.value = "";
|
eventLocation.value = "";
|
||||||
eventDesc.value = "";
|
eventDesc.value = "Autre";
|
||||||
divSpecialSection.style.display = "none";
|
divSpecialSection.style.display = "none";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,14 @@
|
|||||||
Cours a venir
|
Cours a venir
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
@if(count($userClasse) == 0)
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="alert alert-info alert-with-icon">
|
||||||
|
<span data-notify="icon" class="ti-alert"></span>
|
||||||
|
<span data-notify="message">Aucun cours a venir</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
@foreach ($userClasse as $classe)
|
@foreach ($userClasse as $classe)
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
@if ($classe['plan_done'] == "on")
|
@if ($classe['plan_done'] == "on")
|
||||||
@@ -52,13 +60,22 @@
|
|||||||
<div class="col-sm-6 col-lg-6">
|
<div class="col-sm-6 col-lg-6">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<span class="count">{{count($futureEvent)}}</span>
|
|
||||||
<div class="float-right">Activité a venir</div>
|
<div class="float-right">Activité a venir</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
@if(count($futureEvent) == 0)
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="alert alert-infi alert-with-icon">
|
||||||
|
<span data-notify="icon" class="ti-alert"></span>
|
||||||
|
<span data-notify="message">Aucune activité a venir</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
@foreach ($futureEvent as $event)
|
@foreach ($futureEvent as $event)
|
||||||
<i class="fa fa-star" aria-hidden="true" style="color:gold"></i> {{$event->data['event_name']}}<br>
|
<div class="col-md-6 col-sm-12"><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> {{$event->data['event_name']}}</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<a href="/admin/calendar" type="button" class="btn btn-primary btn-lg btn-block">Afficher plus</a>
|
<a href="/admin/calendar" type="button" class="btn btn-primary btn-lg btn-block">Afficher plus</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -113,7 +130,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="card-text text-sm-center">
|
<div class="card-text text-sm-center">
|
||||||
<a href="#">Profil</a>
|
<a href="/admin/profil">Profil</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,44 @@
|
|||||||
@extends('layouts.admin.main')
|
@extends('layouts.admin.main')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
<!--/* ALPHA 3.0.5 */-->
|
||||||
|
<div class="card-header">
|
||||||
|
<strong class="card-title"><i class="fa fa-star" aria-hidden="true" style="color: gold"></i> ALPHA 3.0.6<small><span class="badge badge-success float-right mt-1">STABLE</span> <span class="badge badge-warning float-right mt-1">ALPHA</span></small></strong>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<p>
|
||||||
|
Front-End
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green;width:1.2rem;"></i> Ajout d'un bouton pour supprimer toute les notifications</li>
|
||||||
|
<li><i class="fa fa-exclamation" aria-hidden="true" style="color: orange;width:1.2rem;"></i> Modification de l'affichage des activités a venir</li>
|
||||||
|
<li><i class="fa fa-exclamation" aria-hidden="true" style="color: orange;width:1.2rem;"></i> Modification de l'affichage des cours a venir</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<p>
|
||||||
|
Back End & API
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout des notifications par Email.</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout des notifications pas SMS</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout de la suppression massive de notifications</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Multiples autres ajouts</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<p>
|
||||||
|
Correction de bug
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/26"> - Largeur colonne profil utilisateur - #26</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/25"> - Bug dans la création d'horaire - Message automatique qui reste lors de changement d'act. - #25</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/24"> - Email page d'accueil - #24</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/32"> - Notification Lu - #32</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/23"> - Message qui gosse dans l'horaire - #23</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de multiple bug</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<small><span class="badge badge-primary float-right mt-1">2018-11-08 12:30</span></small>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--/* ALPHA 3.0.5 */-->
|
<!--/* ALPHA 3.0.5 */-->
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<strong class="card-title"><i class="fa fa-star" aria-hidden="true" style="color: gold"></i> ALPHA 3.0.5<small><span class="badge badge-success float-right mt-1">STABLE</span> <span class="badge badge-warning float-right mt-1">ALPHA</span></small></strong>
|
<strong class="card-title"><i class="fa fa-star" aria-hidden="true" style="color: gold"></i> ALPHA 3.0.5<small><span class="badge badge-success float-right mt-1">STABLE</span> <span class="badge badge-warning float-right mt-1">ALPHA</span></small></strong>
|
||||||
|
|||||||
126
resources/views/admin/user/profil.blade.php
Normal file
126
resources/views/admin/user/profil.blade.php
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
@extends('layouts.admin.main')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div @if ($user->id == \Auth::User()->id) class="col-md-12 col-lg-9" @else class="col-sm-12" @endif>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="mx-auto d-block">
|
||||||
|
<img class="rounded-circle mx-auto d-block" src="/assets/admin/images/avatar/user-{{\Auth::User()->avatar}}.jpg" alt="Card image cap" style="height:12rem">
|
||||||
|
<h5 class="text-sm-center mt-2 mb-1">{{\Auth::User()->fullname()}}</h5>
|
||||||
|
<div class="location text-sm-center"><i class="fa fa-id-card-o" aria-hidden="true"></i> {{\App\Rank::find(\Auth::User()->rank)->name}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 text-center">
|
||||||
|
<br>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<p>{{\App\Rank::find($user->job)->name}}</p>
|
||||||
|
<hr>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<p>
|
||||||
|
Genre<br>
|
||||||
|
@if ($user->sexe == "m")
|
||||||
|
<i class="fa fa-mars fa-2x" aria-hidden="true" style="color:#0080FF"></i>
|
||||||
|
@elseif($user->sexe == "f")
|
||||||
|
<i class="fa fa-venus fa-2x" aria-hidden="true" style="color:#FE2EF7"></i>
|
||||||
|
@else
|
||||||
|
<i class="fa fa-genderless fa-2x" aria-hidden="true"></i>
|
||||||
|
@endif
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<p>
|
||||||
|
Age<br>
|
||||||
|
@if ($user->age != "Inconnu")
|
||||||
|
{{$user->age}} ans
|
||||||
|
@else
|
||||||
|
Inconnu
|
||||||
|
@endif
|
||||||
|
</p>
|
||||||
|
</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
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<p>Adresse<br>
|
||||||
|
{{$user->adress}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="col-md-10 offset-md-1">
|
||||||
|
<p class="text-center">Dernières activitées de l'utilisateur</p>
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead class="thead-default">
|
||||||
|
<tr>
|
||||||
|
<th>Horodatage</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach ($user->logs()->take(6)->get() as $log)
|
||||||
|
<tr>
|
||||||
|
<td scope="row">{{$log->created_at}}</td>
|
||||||
|
<td>{{$log->action}}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@if ($user->id == \Auth::User()->id)
|
||||||
|
<div class="col-md-12 col-lg-3">
|
||||||
|
<div class="card">
|
||||||
|
<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 name="changepsw" id="changepsw" class="btn btn-secondary btn-block" href="/admin/profil/avatar" role="button">Modifier ma photo de profil</a>
|
||||||
|
<a name="changepsw" id="changepsw" class="btn btn-secondary btn-block" href="/admin/profil/phone" role="button">Modifier mon numéro de téléphone</a>
|
||||||
|
<a name="changepsw" id="changepsw" class="btn btn-secondary btn-block" href="/admin/profil/adress" role="button">Modifier mon adresse</a>
|
||||||
|
<a name="changepsw" id="changepsw" class="btn btn-primary btn-block" href="/admin/profil/preference" role="button">Modifier mes préférences</a>
|
||||||
|
<a name="changepsw" id="changepsw" class="btn btn-danger btn-block" href="/logout" role="button">Déconnexion</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('breadcrumb')
|
||||||
|
<div class="breadcrumbs">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="page-header float-left">
|
||||||
|
<div class="page-title">
|
||||||
|
<h1>Profil d'utilisateur</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="page-header float-right">
|
||||||
|
<div class="page-title">
|
||||||
|
<ol class="breadcrumb text-right">
|
||||||
|
<li class="active">Utilisateur/Profil</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('scripts')
|
||||||
|
|
||||||
|
@endsection
|
||||||
57
resources/views/admin/user/profil/avatar.blade.php
Normal file
57
resources/views/admin/user/profil/avatar.blade.php
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
@extends('layouts.admin.main')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body text-center">
|
||||||
|
@if (session('status'))
|
||||||
|
<div class="sufee-alert alert with-close alert-success alert-dismissible fade show">
|
||||||
|
<span class="badge badge-pill badge-success">Félicitation</span>
|
||||||
|
Votre avatar a été mis a jour !
|
||||||
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
Votre Avatar
|
||||||
|
<div class="mx-auto d-block">
|
||||||
|
<img class="rounded-circle mx-auto d-block" src="/assets/admin/images/avatar/user-{{\Auth::User()->avatar}}.jpg" alt="Card image cap" style="height:12rem">
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
Cliquer sur un avatar pour mettre a jour votre avatar
|
||||||
|
<div class="row">
|
||||||
|
@for ($i = 1; $i < 16; $i++)
|
||||||
|
<div class="col-md-6 col-lg-4">
|
||||||
|
<a href="/admin/profil/edit/avatar/{{$i}}"><img class="rounded-circle mx-auto d-block" src="/assets/admin/images/avatar/user-{{$i}}.jpg" alt="Card image cap" style="height:12rem"></a>
|
||||||
|
</div>
|
||||||
|
@endfor
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('breadcrumb')
|
||||||
|
<div class="breadcrumbs">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="page-header float-left">
|
||||||
|
<div class="page-title">
|
||||||
|
<h1>Profil d'utilisateur</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="page-header float-right">
|
||||||
|
<div class="page-title">
|
||||||
|
<ol class="breadcrumb text-right">
|
||||||
|
<li class="active">Utilisateur/Profil/Avatar</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('scripts')
|
||||||
|
|
||||||
|
@endsection
|
||||||
@@ -20,6 +20,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@if(count($AlluserClasse) == 0)
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="alert alert-info alert-with-icon">
|
||||||
|
<span data-notify="icon" class="ti-alert"></span>
|
||||||
|
<span data-notify="message">Aucun cours a venir</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
@foreach ($userClasse as $classe)
|
@foreach ($userClasse as $classe)
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
@if ($classe['plan_done'] == "on")
|
@if ($classe['plan_done'] == "on")
|
||||||
@@ -85,22 +93,22 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<div class="col-sm-6" style="padding:3rem;">
|
<div class="col-sm-6" style="padding:3rem;">
|
||||||
<p>Guide pédagogique et de qualification du niveau 1<br><br><a class="btn btn-block btn-info">Télécharger</a></p>
|
<p>Guide pédagogique du niveau 1<br><br><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214130&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-info">Télécharger</a></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6" style="padding:3rem;">
|
<div class="col-sm-6" style="padding:3rem;">
|
||||||
<p>Guide pédagogique et de qualification du niveau 2<br><br><a class="btn btn-block btn-info">Télécharger</a></p>
|
<p>Guide pédagogique du niveau 2<br><br><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214132&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-info">Télécharger</a></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6" style="padding:3rem;">
|
<div class="col-sm-6" style="padding:3rem;">
|
||||||
<p>Guide pédagogique et de qualification du niveau 3<br><br><a class="btn btn-block btn-info">Télécharger</a></p>
|
<p>Guide pédagogique du niveau 3<br><br><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214135&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-info">Télécharger</a></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6" style="padding:3rem;">
|
<div class="col-sm-6" style="padding:3rem;">
|
||||||
<p>Guide pédagogique et de qualification du niveau 4<br><br><a class="btn btn-block btn-info">Télécharger</a></p>
|
<p>Guide pédagogique du niveau 4<br><br><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%216679&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-info">Télécharger</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="text-center">Plan de cours vierge</p>
|
<p class="text-center">Plan de cours vierge</p>
|
||||||
<a href="#" class="btn btn-block btn-info">Télécharger</a>
|
<a href="https://onedrive.live.com/?id=45233BF612A4E12B%212758&cid=45233BF612A4E12B" class="btn btn-block btn-info">Télécharger</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -20,22 +20,22 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<div class="col-sm-6" style="padding:3rem;">
|
<div class="col-sm-6" style="padding:3rem;">
|
||||||
<p>Guide pédagogique et de qualification du niveau 1<br><br><a class="btn btn-block btn-info">Télécharger</a></p>
|
<p>Guide pédagogique et de qualification du niveau 1<br><br><div class="row"><div class="col-md-6 col-sm-12"><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214130&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-info">Guide pédagogique</a></div><div class="col-md-6 col-sm-12"><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214128&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-info">Guide qualification</a></div></div></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6" style="padding:3rem;">
|
<div class="col-sm-6" style="padding:3rem;">
|
||||||
<p>Guide pédagogique et de qualification du niveau 2<br><br><a class="btn btn-block btn-info">Télécharger</a></p>
|
<p>Guide pédagogique et de qualification du niveau 2<br><br><div class="row"><div class="col-md-6 col-sm-12"><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214132&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-success">Guide pédagogique</a></div><div class="col-md-6 col-sm-12"><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214129&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-success">Guide qualification</a></div></div></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6" style="padding:3rem;">
|
<div class="col-sm-6" style="padding:3rem;">
|
||||||
<p>Guide pédagogique et de qualification du niveau 3<br><br><a class="btn btn-block btn-info">Télécharger</a></p>
|
<p>Guide pédagogique et de qualification du niveau 3<br><br><div class="row"><div class="col-md-6 col-sm-12"><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214135&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-warning">Guide pédagogique</a></div><div class="col-md-6 col-sm-12"><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%214131&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-warning">Guide qualification</a></div></div></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6" style="padding:3rem;">
|
<div class="col-sm-6" style="padding:3rem;">
|
||||||
<p>Guide pédagogique et de qualification du niveau 4<br><br><a class="btn btn-block btn-info">Télécharger</a></p>
|
<p>Guide pédagogique et de qualification du niveau 4<br><br><div class="row"><div class="col-md-6 col-sm-12"><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%216679&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-secondary">Guide pédagogique</a></div><div class="col-md-6 col-sm-12"><a href="https://onedrive.live.com/?cid=45233BF612A4E12B&id=45233BF612A4E12B%216678&parId=45233BF612A4E12B%212163&o=OneUp" target="_blank" class="btn btn-block btn-secondary">Guide qualification</a></div></div></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="text-center">Plan de cours vierge</p>
|
<p class="text-center">Plan de cours vierge</p>
|
||||||
<a href="#" class="btn btn-block btn-info">Télécharger</a>
|
<a href="https://onedrive.live.com/?id=45233BF612A4E12B%212758&cid=45233BF612A4E12B" target="_blank" class="btn btn-block btn-info">Télécharger</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,6 +2,43 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="container">
|
||||||
|
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.6</h5>
|
||||||
|
<p>
|
||||||
|
Front-End
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green;width:1.2rem;"></i> Ajout d'un bouton pour supprimer toute les notifications</li>
|
||||||
|
<li><i class="fa fa-exclamation" aria-hidden="true" style="color: orange;width:1.2rem;"></i> Modification de l'affichage des activités a venir</li>
|
||||||
|
<li><i class="fa fa-exclamation" aria-hidden="true" style="color: orange;width:1.2rem;"></i> Modification de l'affichage des cours a venir</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<p>
|
||||||
|
Back End & API
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout des notifications par Email.</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout des notifications pas SMS</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout de la suppression massive de notifications</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Multiples autres ajouts</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<p>
|
||||||
|
Correction de bug
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/26"> - Largeur colonne profil utilisateur - #26</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/25"> - Bug dans la création d'horaire - Message automatique qui reste lors de changement d'act. - #25</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/24"> - Email page d'accueil - #24</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/32"> - Notification Lu - #32</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/23"> - Message qui gosse dans l'horaire - #23</a></li>
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de multiple bug</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ foreach (Auth::user()->unreadNotifications as $notification) {
|
|||||||
<?php } ?>
|
<?php } ?>
|
||||||
</button>
|
</button>
|
||||||
<div class="dropdown-menu" aria-labelledby="notification">
|
<div class="dropdown-menu" aria-labelledby="notification">
|
||||||
|
<a class="btn btn-primary btn-block" href="/admin/notication/mark">Manquer toutes les notifications comme lu</a>
|
||||||
|
<hr>
|
||||||
<?php
|
<?php
|
||||||
foreach (Auth::user()->unreadNotifications as $notification) {
|
foreach (Auth::user()->unreadNotifications as $notification) {
|
||||||
$fa_icon = "fa-info";
|
$fa_icon = "fa-info";
|
||||||
|
|||||||
@@ -24,8 +24,9 @@ foreach (Auth::user()->unreadNotifications as $notification) {
|
|||||||
<b class="caret"></b>
|
<b class="caret"></b>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="/ecc/notication/mark" class="btn btn-warning">Marquer toutes les notifications comme lue</a></li>
|
||||||
@foreach (Auth::user()->unreadNotifications as $notification)
|
@foreach (Auth::user()->unreadNotifications as $notification)
|
||||||
<li><a href="#">{{$notification->data['msg']}}</a></li>
|
<li style="width:250px"><form method="post" action="/ecc/notication/mark/{{$notification->id}}">{{csrf_field()}}<button style="border:none;margin:5px;background-color:white" name="url" type="submit" value="{{$notification->data['url']}}"><p>{{$notification->data['msg']}}</p></button></form></li>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
{{-- Intro Lines --}}
|
{{-- Intro Lines --}}
|
||||||
@foreach ($introLines as $line)
|
@foreach ($introLines as $line)
|
||||||
{{ $line }}
|
{!! $line !!}
|
||||||
|
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ Auth::routes();
|
|||||||
|
|
||||||
/* Index Route */
|
/* Index Route */
|
||||||
Route::get('/', function () {
|
Route::get('/', function () {
|
||||||
return view('public');
|
return view('default');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::middleware(['auth','admin'])->group(function () {
|
Route::middleware(['auth','admin'])->group(function () {
|
||||||
@@ -74,7 +74,16 @@ Route::middleware(['auth','admin'])->group(function () {
|
|||||||
Route::get('/admin/config/local' , 'LocalController@index');
|
Route::get('/admin/config/local' , 'LocalController@index');
|
||||||
|
|
||||||
/** Notification */
|
/** Notification */
|
||||||
Route::post('/admin/notication/mark/{id}','UserController@notificationmark');
|
Route::get('/admin/notication/mark','UserController@notificationmarkALL');
|
||||||
|
Route::post('/admin/notication/mark/{id}','UserController@notificationmark');
|
||||||
|
Route::get('/ecc/notication/mark','UserController@notificationmarkALL');
|
||||||
|
Route::post('/ecc/notication/mark/{id}','UserController@notificationmarkECC');
|
||||||
|
|
||||||
|
/** Profil */
|
||||||
|
Route::get('/admin/profil/avatar' , 'UserController@UserAvatar');
|
||||||
|
Route::get('/admin/profil/edit/avatar/{id}' , 'UserController@editUserAvatar');
|
||||||
|
Route::get('/admin/profil/{id?}' , 'UserController@showUserProfil');
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::middleware(['auth','staff'])->group(function () {
|
Route::middleware(['auth','staff'])->group(function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user