diff --git a/app/Booking.php b/app/Booking.php index 86282d55..73e3ce1c 100644 --- a/app/Booking.php +++ b/app/Booking.php @@ -20,4 +20,9 @@ class Booking extends Model { return $this->belongsTo('App\Item'); } + + public function logs() + { + return $this->morphMany('App\Log', 'logable'); + } } diff --git a/app/Config.php b/app/Config.php index b4dce0e5..ae98428e 100644 --- a/app/Config.php +++ b/app/Config.php @@ -19,4 +19,9 @@ class Config extends Model { return Config::where('name',$configName)->first()->data(); } + + public function logs() + { + return $this->morphMany('App\Log', 'logable'); + } } diff --git a/app/Course.php b/app/Course.php index f4af73f0..cadf4d75 100644 --- a/app/Course.php +++ b/app/Course.php @@ -20,4 +20,9 @@ class Course extends Model { return $this->belongsTo('App\Event'); } + + public function logs() + { + return $this->morphMany('App\Log', 'logable'); + } } diff --git a/app/Event.php b/app/Event.php index 27d69688..1f3d3af8 100644 --- a/app/Event.php +++ b/app/Event.php @@ -35,4 +35,9 @@ class Event extends Model return false; } + + public function logs() + { + return $this->morphMany('App\Log', 'logable'); + } } diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 31492a98..df7d854f 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -24,7 +24,7 @@ class AdminController extends Controller */ public function index() { - Log::saveLog('Affichage du tableau de bord'); + clog('navigate','success','consulte le tableau de bord'); $futureEvent_to_filtered = \App\Event::all()->sortBy('date_begin'); $futureEvent_to_filtered_pass_1 = collect(); @@ -47,7 +47,7 @@ class AdminController extends Controller public function update() { - Log::saveLog('Affichage des notes de mise a jour'); + clog('navigate','success','consulte les notes de mise à jours'); return view('admin.update'); } diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index 66fe37fa..54b84ee7 100644 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -13,7 +13,7 @@ class ArticleController extends Controller */ public function index() { - + clogNav('consulte les articles'); return view('admin.article.index',['activity' => \App\ComplementaryActivity::all()]); } @@ -92,6 +92,7 @@ class ArticleController extends Controller $a->public_header_picture = $request->public_header_picture; $a->save(); + clog('edit','success','a ajouté un article'); return redirect('/admin/article')->with('success','Article modifié avec succès'); } @@ -127,7 +128,7 @@ class ArticleController extends Controller $p->pictureable_type = "App\ComplementaryActivity"; $p->save(); - + clog('add','success','a ajouté une photo avec succès'); return redirect('/admin/article/activity/picture/'.$id)->with('success','Photo ajoutéé avec succès'); } } diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 078761c0..7a8313ce 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -4,45 +4,91 @@ namespace App\Http\Controllers; use App\Booking; use Illuminate\Http\Request; +use Illuminate\Http\Response; class BookingController extends Controller { /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return Response */ - public function index() + public function index($type, $id) { - // + switch ($type) + { + case 'course': + $event = \App\Course::find($id); + $event->fulltime = $event->event->date_begin.', Niveau '.$event->level.', Période '.$event->periode; + $event->fulldesc = $event->ocom; + break; + case 'event': + $event = \App\Event::find($id); + $event->fulltime = $event->date_begin; + $event->fulldesc = $event->desc; + break; + default: + abort(500); + } + + clogNav('consulte les réservations'); + return view('admin.booking.index',['event' => $event,'event_type' => $type,'event_id' => $id]); } /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @return Response */ - public function create() + public function create($type,$id) { - // + return view('admin.booking.create',['items' => \App\Item::training(),'event_type' => $type,'event_id' => $id]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @return Response */ - public function store(Request $request) + public function store(Request $request,$type,$id) { - // + $b = new Booking(); + + $b->item_id = $request->item_id; + $b->amount = $request->amount; + $b->bookable_id = $id; + $b->user_id = \Auth::user()->id; + if (!$request->comment == '') + { + $b->comment = $request->comment; + + } + else + { + $b->comment = 'Aucun commentaire'; + } + switch ($type) + { + case 'course': + $b->bookable_type = 'App\Course'; + break; + case 'event': + $b->bookable_type = 'App\Event'; + default: + $b->bookable_type = ''; + } + + $b->save(); + clog('add','success','a ajouté une réservation avec succès',null,'App\Booking',$b->id); + return redirect('/admin/booking/course/'.$id)->with('success','Réservation ajouté avec succès'); } /** * Display the specified resource. * * @param \App\Booking $booking - * @return \Illuminate\Http\Response + * @return Response */ public function show(Booking $booking) { @@ -53,7 +99,7 @@ class BookingController extends Controller * Show the form for editing the specified resource. * * @param \App\Booking $booking - * @return \Illuminate\Http\Response + * @return Response */ public function edit(Booking $booking) { @@ -65,21 +111,38 @@ class BookingController extends Controller * * @param \Illuminate\Http\Request $request * @param \App\Booking $booking - * @return \Illuminate\Http\Response + * @return Response */ public function update(Request $request, Booking $booking) { - // + $b = Booking::find($request->booking_id); + $b->amount = $request->amount; + $b->comment = $request->comment; + + $b->save(); + return back()->with('success','Modification sauvegardé avec succès'); } /** * Remove the specified resource from storage. * * @param \App\Booking $booking - * @return \Illuminate\Http\Response + * @return Response */ - public function destroy(Booking $booking) + public function destroy(Request $request) { - // + $b = Booking::find($request->id); + + $b->delete(); + } + + public function modalItem($id) + { + return view('admin.booking.modal.create',['item' => \App\Item::find($id)]); + } + + public function modalItemEdit($id) + { + return view('admin.booking.modal.edit',['booking' => \App\Booking::find($id)]); } } diff --git a/app/Http/Controllers/CalendarController.php b/app/Http/Controllers/CalendarController.php index fda03646..d020b94e 100644 --- a/app/Http/Controllers/CalendarController.php +++ b/app/Http/Controllers/CalendarController.php @@ -32,7 +32,6 @@ class CalendarController extends Controller */ public function index() { - Log::saveLog("Affichage de l'horaire"); $this->listClass(); @@ -165,9 +164,6 @@ class CalendarController extends Controller $url = str_replace("-","_", $Requestdate); - /** Dont work ... API stuff - * Log::saveLog("a consulté l'horaire du ".$date); - **/ $today = Schedule::where('date','=',$Requestdate)->get(); $isEmpty = $today->isEmpty(); @@ -450,8 +446,6 @@ class CalendarController extends Controller $schedule->save(); - /** Logs and Notification */ - Log::saveLog("Ajout de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date); $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")); @@ -692,7 +686,6 @@ class CalendarController extends Controller \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."
".$string_Change)); } - Log::saveLog("Modification de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date); return redirect('/admin/calendar'); @@ -713,7 +706,6 @@ class CalendarController extends Controller \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); } diff --git a/app/Http/Controllers/ComplementaryActivityController.php b/app/Http/Controllers/ComplementaryActivityController.php index 0213338c..f2bdb7d2 100644 --- a/app/Http/Controllers/ComplementaryActivityController.php +++ b/app/Http/Controllers/ComplementaryActivityController.php @@ -14,6 +14,7 @@ class ComplementaryActivityController extends Controller */ public function index() { + clogNav('consulte les configurations d\'activité'); return view('admin.configs.activity',['configs' => \App\Config::all(),'activities' => \App\ComplementaryActivity::all()]); } @@ -67,7 +68,7 @@ class ComplementaryActivityController extends Controller } $activity->save(); - + clog('add','success','a ajouté une activité',null,'App\ComplementaryActivity',$activity->id); return redirect('/admin/config/activity')->with('success','Activité ajouté avec succes'); } @@ -129,7 +130,7 @@ class ComplementaryActivityController extends Controller } $activity->save(); - + clog('edit','success','a modifié une activité',null,'App\ComplementaryActivity',$activity->id); return redirect('/admin/config/activity')->with('success','Modification sauvegarder avec succes'); } @@ -144,7 +145,8 @@ class ComplementaryActivityController extends Controller $id = request('id'); $activity = ComplementaryActivity::find($id); - + + clog('delete','success','a supprimé une activité',null,'App\ComplementaryActivity',$id); $activity->delete(); } } diff --git a/app/Http/Controllers/ConfigController.php b/app/Http/Controllers/ConfigController.php index ecd0453e..e7ae156d 100644 --- a/app/Http/Controllers/ConfigController.php +++ b/app/Http/Controllers/ConfigController.php @@ -14,6 +14,7 @@ class ConfigController extends Controller */ public function index() { + clogNav('consulte les configurations'); return view ('admin.configs.general',['configs' => Config::all()]); } @@ -34,7 +35,7 @@ class ConfigController extends Controller $c->save(); } - \App\Log::saveLog('Modification de la configuration du site'); + clog('edit','success','a modifié la configuration'); return redirect('/admin/config/customisation')->with('success','Modification sauvegarder avec succès !'); } @@ -114,9 +115,7 @@ class ConfigController extends Controller $c->data = [request($config)]; $c->save(); } - - \App\Log::saveLog('Modification de la configuration du site'); - + clog('edit','success','a modifié la configuration'); return redirect('/admin/config')->with('success','Modification sauvegarder avec succès !'); } diff --git a/app/Http/Controllers/EventController.php b/app/Http/Controllers/EventController.php index 24cb1df2..87d4cacb 100644 --- a/app/Http/Controllers/EventController.php +++ b/app/Http/Controllers/EventController.php @@ -83,7 +83,7 @@ class EventController extends Controller } } } - + clog('add','success','a ajouté un évènement',null,'App\Event',$event->id); return redirect('/admin/calendar')->with('success','Événement ajouter à l\'horaire'); } @@ -174,7 +174,7 @@ class EventController extends Controller } } } - + clog('edit','success','a modifié un évènement',null,'App\Event',$event->id); return redirect('/admin/calendar')->with('success','Modification à l\'événement sauvegarder à l\'horaire'); } diff --git a/app/Http/Controllers/InventoryController.php b/app/Http/Controllers/InventoryController.php index 6d8f348a..88fe47ac 100644 --- a/app/Http/Controllers/InventoryController.php +++ b/app/Http/Controllers/InventoryController.php @@ -16,7 +16,7 @@ class InventoryController extends Controller public function index() { $items = Item::all(); - + clogNav('consulte l\'inventaire'); return view('admin.inventory.index',[ 'items' => $items]); } @@ -32,6 +32,7 @@ class InventoryController extends Controller public function management() { + clogNav('consulte la gestion de l\'inventaire'); return view('admin.inventory.management'); } diff --git a/app/Http/Controllers/ItemCategoryController.php b/app/Http/Controllers/ItemCategoryController.php index 29d7daaa..e2977ea6 100644 --- a/app/Http/Controllers/ItemCategoryController.php +++ b/app/Http/Controllers/ItemCategoryController.php @@ -15,6 +15,7 @@ class ItemCategoryController extends Controller */ public function index() { + clogNav('consulte la gestion des catégories d\'inventaire'); return view('admin.itemcategory.index',['categories' => ItemCategory::all()]); } @@ -58,7 +59,7 @@ class ItemCategoryController extends Controller } $c->save(); - + clog('add','success','a ajouté une catégorie a l\'inventaire',null,'App\ItemCategory',$c->id); return redirect('/admin/inventory/management/category/')->with('success','Catégorie ajouté avec succès'); } @@ -115,7 +116,7 @@ class ItemCategoryController extends Controller } $c->save(); - + clog('edit','success','a modifié une catégorie de l\'inventaire',null,'App\ItemCategory',$c->id); return redirect('/admin/inventory/management/category/')->with('success','Catégorie modifié avec succès'); } @@ -130,5 +131,6 @@ class ItemCategoryController extends Controller $c = ItemCategory::find($id); $c->delete(); + clog('delete','success','a supprimé une catégorie de l\'inventaire',null,'App\ItemCategory',$c->id); } } diff --git a/app/Http/Controllers/ItemController.php b/app/Http/Controllers/ItemController.php index c75490b9..0290a275 100644 --- a/app/Http/Controllers/ItemController.php +++ b/app/Http/Controllers/ItemController.php @@ -45,7 +45,7 @@ class ItemController extends Controller $item->category_id = request('category_id'); $item->save(); - + clog('add','success',"a ajouté un item à l'inventaire",null,"App\Item",$item->id); return redirect('/admin/inventory')->with('success','Item sauvegardé avec succès'); } @@ -92,7 +92,7 @@ class ItemController extends Controller $item->category_id = request('category_id'); $item->save(); - + clog('edit','success',"a modifié un item à l'inventaire",null,"App\Item",$item->id); return redirect('/admin/inventory')->with('success','Item sauvegardé avec succès'); } @@ -107,5 +107,6 @@ class ItemController extends Controller $item = Item::find(request('id')); $item->delete(); + clog('delete','success',"a supprimé un item à l'inventaire",null,"App\Item",$item->id); } } diff --git a/app/Http/Controllers/MessageController.php b/app/Http/Controllers/MessageController.php index dc0fe0fb..ebf46cf4 100644 --- a/app/Http/Controllers/MessageController.php +++ b/app/Http/Controllers/MessageController.php @@ -25,6 +25,7 @@ class MessageController extends Controller */ public function index() { + clogNav('consulte les messages'); return view('admin.message.index', ['messages' => \App\Message::all()]); } @@ -65,8 +66,7 @@ class MessageController extends Controller $msg->save(); - \App\Log::savelog("Publication du message : ".request('msg_title')); - + clog('add','success','a ajouté un message',null,'App\Message',$msg->id); return redirect('/admin/message'); } @@ -79,6 +79,7 @@ class MessageController extends Controller public function show($id) { \Auth::User()->seenMessage($id); + clog('see','success','a consulté un message',null,'App\Message',$id); return view('admin.message.show', ['message' => Message::find($id)]); } @@ -118,5 +119,6 @@ class MessageController extends Controller $msg = Message::find($id); $msg->delete(); + clog('delete','success','a supprimé un message',null,'App\Message',$id); } } diff --git a/app/Http/Controllers/NewsController.php b/app/Http/Controllers/NewsController.php index df3623cd..76c006f1 100644 --- a/app/Http/Controllers/NewsController.php +++ b/app/Http/Controllers/NewsController.php @@ -19,6 +19,7 @@ class NewsController extends Controller public function indexAdmin() { + clogNav('a consulté les nouvelles'); return view('admin.news.index',['news' => \App\News::paginate(9)]); } @@ -55,7 +56,7 @@ class NewsController extends Controller $n->user_id = \Auth::user()->id; $n->save(); - + clog('add','success','a ajouté une nouvelle',null,'App\News',$n->id); return redirect('/admin/news')->with('success','Nouvelle ajouté avec succès'); } @@ -68,6 +69,7 @@ class NewsController extends Controller */ public function show($id) { + clog('see','success','a consulté une nouvelle',null,'App\News',$id); return view('public.news', ['new' => \App\News::find($id)]); } @@ -106,7 +108,7 @@ class NewsController extends Controller $n->user_id = \Auth::user()->id; $n->save(); - + clog('edit','success','a modifié une nouvelle',null,'App\News',$id); return redirect('/admin/news')->with('success','Nouvelle modifié avec succès'); } @@ -121,5 +123,6 @@ class NewsController extends Controller $news = News::find(request('id')); $news->delete(); + clog('delete','success','a supprimé une nouvelle',null,'App\News',$id); } } diff --git a/app/Http/Controllers/PictureController.php b/app/Http/Controllers/PictureController.php index c560d7fa..328582eb 100644 --- a/app/Http/Controllers/PictureController.php +++ b/app/Http/Controllers/PictureController.php @@ -19,6 +19,7 @@ class PictureController extends Controller public function indexAdmin() { + clogNav('consulte les images'); return view('admin.picture.index',['pictures' => \App\Picture::paginate(\App\Config::getData('text_public_picture_nb'))]); } /** @@ -48,7 +49,7 @@ class PictureController extends Controller $pic->pictureable_type = ""; $pic->save(); - + clog('add','success','a ajouté une image',null,'App\Picture',$pic->id); return redirect('/admin/picture')->with('success','Image ajoutée avec succès'); } @@ -61,6 +62,7 @@ class PictureController extends Controller */ public function show($id) { + clog('see','success','a consulté une image',null,'App\Picture',$id); return view('public.picture',['picture' => \App\Picture::find($id)]); } @@ -91,7 +93,7 @@ class PictureController extends Controller $pic->desc = request('desc'); $pic->save(); - + clog('edit','success','a modifié une image',null,'App\Picture',$id); if ($pic->pictureable_type == "App\ComplementaryActivity") { return redirect('admin/article/activity/picture/'.$pic->pictureable->id)->with('success','Image sauvegarder avec succès'); @@ -113,5 +115,6 @@ class PictureController extends Controller $pic = Picture::find($id); $pic->delete(); + clog('delete','success','a supprimé une image',null,'App\Picture',$id); } } diff --git a/app/Http/Controllers/ScheduleController.php b/app/Http/Controllers/ScheduleController.php index bc5eebe6..bf76106b 100644 --- a/app/Http/Controllers/ScheduleController.php +++ b/app/Http/Controllers/ScheduleController.php @@ -196,7 +196,7 @@ class ScheduleController extends Controller public function printtopdf($id) { $event = \App\Event::find($id); - $pdf = PDF::loadView('admin.schedule.modal.show',['event' => $event]); + $pdf = PDF::loadView('admin.schedule.print.event',['event' => $event]); return $pdf->download($event->date_begin.'.pdf'); } diff --git a/app/Http/helpers.php b/app/Http/helpers.php index 6d7e1493..4da53536 100644 --- a/app/Http/helpers.php +++ b/app/Http/helpers.php @@ -1,5 +1,10 @@ result = $result; + $log->event = $event; + $log->type = $type; + + if ($user_id != null) + { + $log->user_id = $user_id; + } + else + { + $log->user_id = \Auth::User()->id; + } + + if ($obj_type != null) + { + $log->logable_type = $obj_type; + } + else + { + $log->logable_type = ''; + } + + if ($obj_id != null) + { + $log->logable_id = $obj_id; + } + else + { + $log->logable_id = 0; + } + + $log->save(); +} + +function clogNav($event) +{ + clog('navigate','success',$event); } \ No newline at end of file diff --git a/app/Item.php b/app/Item.php index e1ed7d79..f4e585e9 100644 --- a/app/Item.php +++ b/app/Item.php @@ -4,6 +4,7 @@ namespace App; use Illuminate\Database\Eloquent\Model; use mysql_xdevapi\Collection; +use function foo\func; class Item extends Model { @@ -44,10 +45,12 @@ class Item extends Model return \App\ItemCategory::find($this->category_id); } - public function available() + public function available($begin = null,$end = null) { - - return $this->quantity - $this->booked(); + if ($begin == null && $end == null) + { + return $this->quantity - $this->booked(); + } } public function booked() @@ -61,4 +64,15 @@ class Item extends Model return $nbBooked; } + + public static function training() + { + $training = collect(); + + $training = \App\Item::all()->filter(function($value,$key){ + return $value->category()->is_training == 1 && $value->category()->is_op_appro != 1; + }); + + return $training; + } } diff --git a/app/ItemCategory.php b/app/ItemCategory.php index b656ea4d..3eef6c19 100644 --- a/app/ItemCategory.php +++ b/app/ItemCategory.php @@ -10,4 +10,9 @@ class ItemCategory extends Model { return $this->hasMany('App\Item','category_id'); } + + public function logs() + { + return $this->morphMany('App\Log', 'logable'); + } } diff --git a/app/Log.php b/app/Log.php index eb49ccc8..186d3cc7 100644 --- a/app/Log.php +++ b/app/Log.php @@ -11,17 +11,45 @@ class Log extends Model return $this->belongsTo(User::class); } - public static function saveLog($action, $user = "default") + public function logable() { - $log = new Log; + return $this->morphTo(); + } - if ($user == "default") { - $user = \Auth::User()->id; + public function typeColor() + { + switch ($this->type) + { + case 'add': + return 'success'; + break; + case 'edit': + return 'primary'; + break; + case 'delete': + return 'warning'; + break; + case 'see': + return 'info'; + break; + case 'navigate': + return 'secondary'; + break; + case 'error': + return 'danger'; + break; } - - $log->action = $action; - $log->user_id = $user; + } - $log->save(); + public function logableURL() + { + if ($this->logable != null) + { + switch ($this->logable_type) + { + case "App\News": + return "/news/".$this->logable->id; + } + } } } diff --git a/app/Message.php b/app/Message.php index a537497e..b8801954 100644 --- a/app/Message.php +++ b/app/Message.php @@ -9,4 +9,9 @@ class Message extends Model protected $casts = [ 'data' => 'array', ]; + + public function logs() + { + return $this->morphMany('App\Log', 'logable'); + } } diff --git a/app/News.php b/app/News.php index 3e8ff8bc..10e4e734 100644 --- a/app/News.php +++ b/app/News.php @@ -15,4 +15,9 @@ class News extends Model { return $this->morphMany('App\Picture', 'pictureable'); } + + public function logs() + { + return $this->morphMany('App\Log', 'logable'); + } } diff --git a/app/Picture.php b/app/Picture.php index bafe295c..79bf048f 100644 --- a/app/Picture.php +++ b/app/Picture.php @@ -10,4 +10,9 @@ class Picture extends Model { return $this->morphTo(); } + + public function logs() + { + return $this->morphMany('App\Log', 'logable'); + } } diff --git a/database/migrations/2018_07_16_222153_create_logs_table.php b/database/migrations/2018_07_16_222153_create_logs_table.php index c6389c5b..6c6c5a12 100644 --- a/database/migrations/2018_07_16_222153_create_logs_table.php +++ b/database/migrations/2018_07_16_222153_create_logs_table.php @@ -15,8 +15,12 @@ class CreateLogsTable extends Migration { Schema::create('logs', function (Blueprint $table) { $table->increments('id'); + $table->string('type'); + $table->string('result'); + $table->text('event'); $table->integer('user_id'); - $table->string('action'); + $table->string('logable_type'); + $table->integer('logable_id'); $table->timestamps(); }); } diff --git a/resources/views/admin/booking/create.blade.php b/resources/views/admin/booking/create.blade.php new file mode 100644 index 00000000..abe8455f --- /dev/null +++ b/resources/views/admin/booking/create.blade.php @@ -0,0 +1,120 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+
+

Réserver un item + +

+
+
+ + + + + + + + + + + + + @foreach($items as $item) + + + + + + + + + @endforeach + +
#NomCategorieDescriptionQuantité Disponible
{{$item->id}}{{$item->name}}{{$item->category()->name}}{!! $item->desc !!}{{$item->available()}} + +
+ Retour +
+
+
+@endsection + +@section('custom_scripts') + + + +@endsection diff --git a/resources/views/admin/booking/index.blade.php b/resources/views/admin/booking/index.blade.php new file mode 100644 index 00000000..5e6825a4 --- /dev/null +++ b/resources/views/admin/booking/index.blade.php @@ -0,0 +1,178 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+
+

Réservation + +

+
+
+ + + + + + + + + + + + + + @foreach($event->bookings as $booking) + + + + + + + + + @endforeach + +
#NomCategorieDescriptionQuantité + Réserver un item +
{{$booking->item->id}}{{$booking->item->name}}{{$booking->item->category()->name}}{!! $booking->item->desc !!}{{$booking->amount}} +
+ + +
+
+
+
+
+@endsection + +@section('custom_scripts') + + + +@endsection diff --git a/resources/views/admin/booking/modal/create.blade.php b/resources/views/admin/booking/modal/create.blade.php new file mode 100644 index 00000000..86f8dc1b --- /dev/null +++ b/resources/views/admin/booking/modal/create.blade.php @@ -0,0 +1,47 @@ + +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + + Quantité d'item a réserver +
+
+
+
+ + + Commantaire pour l'officier d'appro +
+
+
+ +
+
+ +
+
diff --git a/resources/views/admin/booking/modal/edit.blade.php b/resources/views/admin/booking/modal/edit.blade.php new file mode 100644 index 00000000..75dbcc5c --- /dev/null +++ b/resources/views/admin/booking/modal/edit.blade.php @@ -0,0 +1,49 @@ + +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + + Quantité d'item a réserver +
+
+
+
+ + + Commantaire pour l'officier d'appro +
+
+
+ +
+
+ +
+
diff --git a/resources/views/admin/calendar/calendar_display.blade.php b/resources/views/admin/calendar/calendar_display.blade.php index 54b7ab94..037f47e7 100644 --- a/resources/views/admin/calendar/calendar_display.blade.php +++ b/resources/views/admin/calendar/calendar_display.blade.php @@ -65,6 +65,18 @@ diff --git a/resources/views/admin/configs/activity-add.blade.php b/resources/views/admin/configs/activity-add.blade.php index a57b5262..0c7d9eef 100644 --- a/resources/views/admin/configs/activity-add.blade.php +++ b/resources/views/admin/configs/activity-add.blade.php @@ -84,7 +84,7 @@
+ class="form-control" name="location" id="location" aria-describedby="helpName" placeholder="Escadron" required> Emplacement par défaut de l'activité
diff --git a/resources/views/admin/inventory/index.blade.php b/resources/views/admin/inventory/index.blade.php index 0671ecb1..e297c198 100644 --- a/resources/views/admin/inventory/index.blade.php +++ b/resources/views/admin/inventory/index.blade.php @@ -10,7 +10,6 @@
Ajouter un item -

diff --git a/resources/views/admin/log/display.blade.php b/resources/views/admin/log/display.blade.php index 8abc2bcd..66b649f7 100644 --- a/resources/views/admin/log/display.blade.php +++ b/resources/views/admin/log/display.blade.php @@ -14,7 +14,9 @@
- + + + @@ -22,9 +24,11 @@ @foreach ($log as $item) - + + + - + @endforeach diff --git a/resources/views/admin/schedule/event/edit.blade.php b/resources/views/admin/schedule/event/edit.blade.php index 27c4a45e..78b29ee1 100644 --- a/resources/views/admin/schedule/event/edit.blade.php +++ b/resources/views/admin/schedule/event/edit.blade.php @@ -96,7 +96,7 @@
- + course($p,$i) != null) value="{{$activity->course($p,$i)->name}}" @endif> Veuillez entrer le nom du cours
@@ -104,7 +104,7 @@
- + course($p,$i) != null) value="{{\App\User::find($activity->course($p,$i)->user_id)->fullname()}}" @endif> Veuillez entrer le nom de l'instructeur
@@ -112,14 +112,14 @@
- + course($p,$i) != null) value="{{$activity->course($p,$i)->ocom}}" @endif> Veuillez entrer l'OCOM
- + course($p,$i) != null) value="{{$activity->course($p,$i)->location}}" @endif> Veuillez entrer le lieux
diff --git a/resources/views/admin/schedule/print/event.blade.php b/resources/views/admin/schedule/print/event.blade.php new file mode 100644 index 00000000..bed06e70 --- /dev/null +++ b/resources/views/admin/schedule/print/event.blade.php @@ -0,0 +1,86 @@ + + + + +Du {{$event->date_begin}} au {{$event->date_end}}
+{{$event->location}} +@if ($event->is_mandatory) + Obligatoire - +@else + Optionnel - +@endif +@if (is_int($event->type)) + {{$event->type}} +@else + {{\App\ComplementaryActivity::find($event->type)->name}} +@endif +{!!$event->desc!!} +@if (!$event->courses->isEmpty()) +

Horaire

+
Horodatage HorodatageTypeRésultat Utilisateur Action
{{$item->created_at}}{{$item->created_at}}{{$item->type}}Success {{\App\User::find($item->user_id)->fullname()}}{{$item->action}}{{$item->event}}
+ + + @for ($p = 1; $p <= \App\Config::getData('admin_periode_nb'); $p++) + + @endfor + + + @for ($l = 1; $l <= \App\Config::getData('admin_level_in_schedule_nb'); $l++) + + + @for ($p = 1; $p <= \App\Config::getData('admin_periode_nb'); $p++) +
Niveau + Période {{$p}} {{\App\Config::all()->where('name','admin_periode_begin')->first()->data[$p]}} à {{\App\Config::all()->where('name','admin_periode_end')->first()->data[$p]}} +
+ Niveau {{$l}} + + @foreach ($event->courses as $course) + @if ($course->periode == $p && $course->level == $l) + {{$course->name}} + + @if(\App\User::find($course->user_id)) + {{\App\User::find($course->user_id)->fullname()}} + @else + Utilisateur Inconnu + @endif + {{$course->ocom}} + {{$course->location}} + Réservation de materiel + + @if (!$course->bookings->isEmpty()) + + + + + + @foreach ($course->bookings as $booking) + + + + + @endforeach + + @else +

+ Aucune réservation +

+ @endif +
+ Item + + Quantité +
+ {{$booking->item->name}} + + {{$booking->amount}} +
+ @endif + @endforeach + @endfor + @endfor +
+@endif + + + + \ No newline at end of file diff --git a/resources/views/layouts/public/activity.blade.php b/resources/views/layouts/public/activity.blade.php index 6f57f368..b94dfee6 100644 --- a/resources/views/layouts/public/activity.blade.php +++ b/resources/views/layouts/public/activity.blade.php @@ -8,7 +8,7 @@

{{$activity->name}}

{!! $activity->public_body !!}
- Plus d'information + Plus d'information
diff --git a/routes/api.php b/routes/api.php index dd215a61..2e7d5eb3 100644 --- a/routes/api.php +++ b/routes/api.php @@ -30,6 +30,10 @@ Route::middleware('auth:api')->group(function () { Route::get('/schedule/events/add/modal/{type}/{date}','ScheduleController@loadModalDefautType'); Route::post('/schedule/event/delete/{id}','ScheduleController@delete'); + /** Booking */ + Route::get('/booking/modal/item/{id}','BookingController@modalItem'); + Route::get('/booking/modal/edit/item/{id}','BookingController@modalItemEdit'); + Route::post('/booking/delete','BookingController@destroy'); /** Picture */ Route::post('/picture/delete/{id}','PictureController@destroy'); diff --git a/routes/web.php b/routes/web.php index 6a0cb44b..fe0509a5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -27,6 +27,10 @@ Route::get('/activity/{id}', 'ComplementaryActivityController@show'); Route::get('/picture/{id}', 'PictureController@show'); Route::get('/pictures', 'PictureController@index'); +Route::get('/test',function(){ + clog('add','success','Test'); +}); + Route::middleware(['auth','admin'])->group(function () { /* Espace Administration Route */ @@ -122,10 +126,11 @@ Route::middleware(['auth','admin'])->group(function () { /** Booking */ Route::get('/admin/booking','BookingController@index'); Route::get('/admin/booking/{id}','BookingController@show'); - Route::get('/admin/booking/{type}/{id}',function() { - return 'A faire'; - }); + Route::get('/admin/booking/{type}/{id}','BookingController@index'); + Route::get('/admin/booking/{type}/{id}/add','BookingController@create'); + Route::post('/admin/booking/{type}/{id}/add','BookingController@store'); Route::get('/admin/inventory/booking' , 'InventoryController@booking'); + Route::post('/admin/booking/edit','BookingController@update'); /** Item */ Route::get('/admin/item/add' , 'ItemController@create');