Files
c-cms-legacy/app/Http/Controllers/EventController.php
Lagacé Mathieu 03cf1c5493 Test performance
2020-01-24 10:33:16 -05:00

257 lines
6.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Event;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class EventController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return Response
*/
public function store()
{
$event = new Event();
$event->name = request('name');
$event->date_begin = request('begin_time');
$event->date_end = request('end_time');
$event->type = request('type');
$event->user_id = \Auth::user()->id;
$event->location = request('location');
if(request('is_mandatory') != null){
$event->is_mandatory = 1;
} else {
$event->is_mandatory = 0;
}
$event->desc = '';
if(\request("use_weekly_msg"))
{
$event->use_weekly_msg = 1;
$event->msg = request('msg');
}
else
{
$event->use_weekly_msg = 0;
$event->msg = "";
}
if(\request("use_schedule"))
{
$event->use_schedule = 1;
}
else
{
$event->use_schedule = 0;
}
$event->calendar_color = \request('calendar_color');
$event->calendar_icon = \request('calendar_icon');
$nbLevel = 1;
$niveaux = [];
while (\request('level_name_'.$nbLevel))
{
array_push($niveaux,['name' => \request('level_name_'.$nbLevel)]);
$nbLevel++;
}
$nbPeriode = 1;
$periodes = [];
while (\request('periode_name_'.$nbPeriode))
{
array_push($periodes,[
'name' => \request('periode_name_'.$nbPeriode),
'begin_time' => \request('periode_begin_time_'.$nbPeriode),
'end_time' => \request('periode_end_time_'.$nbPeriode)
]);
$nbPeriode++;
}
$event->schedule = [
'periodes' => $periodes,
'niveaux' => $niveaux
];
$event->save();
if ($event->use_schedule) {
for ($l=1; $l < $nbLevel; $l++) {
for ($p=1; $p < $nbPeriode; $p++) {
$course = new \App\Course();
$users = \App\User::all();
$instructor = request('instruc_n'.$l.'_p'.$p);
foreach ($users as $user) {
if($user->fullname() == request('instruc_n'.$l.'_p'.$p))
{
$instructor = $user->id;
}
}
$course->name = request('name_n'.$l.'_p'.$p);
$course->user_id = $instructor;
$course->ocom = request('ocom_n'.$l.'_p'.$p);
$course->location = request('location_n'.$l.'_p'.$p);
$course->periode = $p;
$course->level = $l;
$course->comment = "";
$course->event_id = $event->id;
$course->save();
}
}
}
clog('add','success','a ajouté un évènement',null,'App\Event',$event->id);
return redirect('/admin/schedule')->with('success','Événement ajouter à l\'horaire');
}
/**
* Display the specified resource.
*
* @param \App\Event $event
* @return Response
*/
public function show(Event $event)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param $id
* @return Response
*/
public function edit($id)
{
return view('admin.schedule.event.edit',['activity' => \App\Event::find($id)]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Event $event
* @return Response
*/
public function update($id)
{
$event = Event::find($id);
$event->name = request('name');
$event->date_begin = request('begin');
$event->date_end = request('end');
$event->location = request('location');
if(request('is_mandatory') != null){
$event->is_mandatory = 1;
} else {
$event->is_mandatory = 0;
}
$event->desc = request('desc');
if(\request('msg'))
{
$event->msg = request('msg');
}
else
{
$event->msg = "";
}
if(\request('date_msg'))
{
$event->date_msg = request('date_msg');
}
else
{
$event->date_msg = "";
}
$event->save();
if ($event->type == 1) {
for ($l=1; $l <= \App\Config::getData('admin_level_in_schedule_nb'); $l++) {
for ($p=1; $p <= \App\Config::getData('admin_periode_nb'); $p++) {
$course = new \App\Course();
foreach ($event->courses as $c)
{
if ($c->periode == $p)
{
if ($c->level == $l)
{
$course = $c;
}
}
}
$users = \App\User::all();
$instructor = request('instruc_n'.$l.'_p'.$p);
foreach ($users as $user) {
if($user->fullname() == request('instruc_n'.$l.'_p'.$p))
{
$instructor = $user->id;
}
}
$course->name = request('name_n'.$l.'_p'.$p);
$course->user_id = $instructor;
$course->ocom = request('ocom_n'.$l.'_p'.$p);
$course->location = request('loc_n'.$l.'_p'.$p);
$course->periode = $p;
$course->level = $l;
$course->comment = "";
$course->event_id = $event->id;
$course->save();
}
}
}
clog('edit','success','a modifié un évènement',null,'App\Event',$event->id);
return redirect('/admin/schedule')->with('success','Modification à l\'événement sauvegarder à l\'horaire');
}
/**
* Remove the specified resource from storage.
*
* @param \App\Event $event
* @return Response
*/
public function destroy(Event $event)
{
//
}
}