diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 7a8313ce..2ef021e0 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -42,7 +42,16 @@ class BookingController extends Controller */ public function create($type,$id) { - return view('admin.booking.create',['items' => \App\Item::training(),'event_type' => $type,'event_id' => $id]); + $event = null; + if($type == 'course') + { + $event = \App\Course::find($id)->event; + } + else if ($type == 'event') + { + $event = \App\Event::find($id); + } + return view('admin.booking.create',['items' => \App\Item::training(),'event_type' => $type,'event_id' => $id,'event' => $event]); } /** @@ -136,13 +145,31 @@ class BookingController extends Controller $b->delete(); } - public function modalItem($id) + public function modalItem($id,$event_type,$event_id) { - return view('admin.booking.modal.create',['item' => \App\Item::find($id)]); + $event = null; + if ($event_type == 'course') + { + $event = \App\Course::find($event_id)->event; + } + else + { + $event = \App\Event::find($event_id); + } + return view('admin.booking.modal.create',['item' => \App\Item::find($id),'event' => $event]); } - public function modalItemEdit($id) + public function modalItemEdit($id,$event_type,$event_id) { - return view('admin.booking.modal.edit',['booking' => \App\Booking::find($id)]); + $event = null; + if ($event_type == 'course') + { + $event = \App\Course::find($event_id)->event; + } + else + { + $event = \App\Event::find($event_id); + } + return view('admin.booking.modal.edit',['booking' => \App\Booking::find($id),'event' => $event]); } } diff --git a/app/Item.php b/app/Item.php index f4e585e9..17391c9b 100644 --- a/app/Item.php +++ b/app/Item.php @@ -51,15 +51,52 @@ class Item extends Model { return $this->quantity - $this->booked(); } + else + { + return $this->quantity - $this->booked($begin,$end); + } } - public function booked() + public function booked($begin_time = null,$end_time = null) { $nbBooked = 0; - - foreach ($this->bookings() as $b) + foreach ($this->bookings as $b) { - $nbBooked = $nbBooked + $b->amount; + if ($begin_time != null && $end_time != null) + { + $b_begin_time = null; + $b_end_time = null; + if ($b->bookable_type == 'App\Course') + { + $b_begin_time = $b->bookable->event->date_begin; + $b_end_time = $b->bookable->event->date_end; + } + else + { + $b_begin_time = $b->bookable->date_begin; + $b_end_time = $b->bookable->date_end; + } + if (date('U',strtotime($b_begin_time)) <= date('U',strtotime($begin_time)) && date('U',strtotime($b_end_time)) <= date('U',strtotime($end_time)) && date('U',strtotime($b_end_time)) >= date('U',strtotime($begin_time))) + { + $nbBooked = $nbBooked + $b->amount; + } + elseif (date('U',strtotime($b_begin_time)) <= date('U',strtotime($begin_time)) && date('U',strtotime($b_end_time)) >= date('U',strtotime($end_time))) + { + $nbBooked = $nbBooked + $b->amount; + } + elseif (date('U',strtotime($b_begin_time)) >= date('U',strtotime($begin_time)) && date('U',strtotime($b_begin_time)) <= date('U',strtotime($end_time)) && date('U',strtotime($b_end_time)) >= date('U',strtotime($end_time))) + { + $nbBooked = $nbBooked + $b->amount; + } + elseif (date('U',strtotime($b_begin_time)) >= date('U',strtotime($begin_time)) && date('U',strtotime($b_begin_time)) <= date('U',strtotime($end_time))) + { + $nbBooked = $nbBooked + $b->amount; + } + } + else + { + $nbBooked = $nbBooked + $b->amount; + } } return $nbBooked; diff --git a/resources/views/admin/booking/create.blade.php b/resources/views/admin/booking/create.blade.php index abe8455f..47644b78 100644 --- a/resources/views/admin/booking/create.blade.php +++ b/resources/views/admin/booking/create.blade.php @@ -27,7 +27,7 @@ {{$item->name}} {{$item->category()->name}} {!! $item->desc !!} - {{$item->available()}} + {{$item->available($event->date_begin,$event->date_end)}} @@ -58,7 +58,7 @@ function openModal(id) { - $.get("/api/booking/modal/item/" + id + "?api_token="+api_token, function (data) { + $.get("/api/booking/modal/item/" + id + "/{{$event_type}}/{{$event_id}}?api_token="+api_token, function (data) { $("#modal-content").html(data); }); $('#createModal').modal('toggle') diff --git a/resources/views/admin/booking/index.blade.php b/resources/views/admin/booking/index.blade.php index 5e6825a4..eeb585b6 100644 --- a/resources/views/admin/booking/index.blade.php +++ b/resources/views/admin/booking/index.blade.php @@ -116,7 +116,7 @@ function openModal(id) { - $.get("/api/booking/modal/edit/item/" + id + "?api_token="+api_token, function (data) { + $.get("/api/booking/modal/edit/item/" + id + "/{{$event_type}}/{{$event_id}}?api_token="+api_token, function (data) { $("#modal-content").html(data); }); $('#editModal').modal('toggle') diff --git a/resources/views/admin/booking/modal/create.blade.php b/resources/views/admin/booking/modal/create.blade.php index 86f8dc1b..12ba4eab 100644 --- a/resources/views/admin/booking/modal/create.blade.php +++ b/resources/views/admin/booking/modal/create.blade.php @@ -27,7 +27,7 @@
- + Quantité d'item a réserver
diff --git a/resources/views/admin/booking/modal/edit.blade.php b/resources/views/admin/booking/modal/edit.blade.php index 75dbcc5c..f8b73a5e 100644 --- a/resources/views/admin/booking/modal/edit.blade.php +++ b/resources/views/admin/booking/modal/edit.blade.php @@ -27,7 +27,7 @@
- + Quantité d'item a réserver
diff --git a/resources/views/admin/update.blade.php b/resources/views/admin/update.blade.php index 0b8874e0..4d8ab345 100644 --- a/resources/views/admin/update.blade.php +++ b/resources/views/admin/update.blade.php @@ -2,6 +2,99 @@ @section('content')
+
+
+
+
+
+

3.2.2

+

2019-09-11

+
+
+ STABLE +
+
+
+
+
+
+

+ Nouveauté +

    +
  • +
    +
    + +
    +
    + Réactivation des réservations +
    +
    +
  • +
  • +
    +
    + +
    +
    + Refonte du code responsable de la gestion de l'inventaire +
    +
    +
  • +
  • +
    +
    + +
    +
    + Modernisation de la base de données des réservations +
    +
    +
  • +
  • +
    +
    + +
    +
    + Ajout de la possibilité d'imprimer une activité depuis l'horaire +
    +
    +
  • +
  • +
    +
    + +
    +
    + Ajout de la possibilité de réserver du matériel depuis l'horaire +
    +
    +
  • +
+

+
+
+

+ Bug +

    +
  • +
    +
    + +
    +
    + Correction de 4 bugs +
    +
    +
  • +
+

+
+
+
+
+
diff --git a/routes/api.php b/routes/api.php index 2e7d5eb3..e9b25b8f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -31,8 +31,8 @@ Route::middleware('auth:api')->group(function () { 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::get('/booking/modal/item/{id}/{event_type}/{event_id}','BookingController@modalItem'); + Route::get('/booking/modal/edit/item/{id}/{event_type}/{event_id}','BookingController@modalItemEdit'); Route::post('/booking/delete','BookingController@destroy'); /** Picture */ Route::post('/picture/delete/{id}','PictureController@destroy');