public function unregister($booking_item_id, $user_id = null)
 {
     if (empty($user_id)) {
         $user_id = Auth::id();
     }
     if (!Auth::user()->isSuperAdmin() && Auth::id() != $user_id) {
         App::abort(403);
     }
     BookingItemUser::where('users_id', '=', $user_id)->where('booking_item_id', '=', $booking_item_id)->delete();
     $user = User::find($user_id);
     $booking_item = BookingItem::find($booking_item_id);
     Mail::send('booking::emails.unregister', array('booking_item' => $booking_item, 'user' => $user), function ($m) use($user, $booking_item) {
         $m->from('*****@*****.**', 'Sébastien Hordeaux')->bcc('*****@*****.**', 'Sébastien Hordeaux')->to($booking_item->booking->user->email, $booking_item->booking->user->fullname)->subject(sprintf('%s - Désinscription - %s', $_ENV['organisation_name'], $booking_item->booking->title));
     });
     return Response::json(array('status' => 'OK', 'user_id' => $user_id));
 }
 public function logTimeAjax($id)
 {
     $booking_item = BookingItem::find($id);
     if (!$booking_item) {
         return Response::json(array('status' => 'KO', 'message' => 'La réservation est inconnue'));
     }
     $time = new PastTime();
     $time->user_id = $booking_item->booking->user_id;
     $time->ressource_id = $booking_item->ressource_id;
     $time->date_past = date('Y-m-d', strtotime($booking_item->start_at));
     $time->time_start = $booking_item->start_at;
     $time->time_end = date('Y-m-d H:i:s', strtotime($booking_item->start_at) + $booking_item->duration * 60);
     $existing = PastTime::query()->where('user_id', $time->user_id)->where('ressource_id', $time->ressource_id)->where('date_past', $time->date_past)->where('time_start', $time->time_start)->where('time_end', $time->time_end)->count() > 0;
     if ($existing) {
         return Response::json(array('status' => 'KO', 'message' => sprintf('Un enregistrement similaire à %s est déjà présent', $booking_item->booking->title)));
     }
     $time->save();
     return Response::json(array('status' => 'OK', 'message' => sprintf('La réunion %s a été comptabilisée', $booking_item->booking->title), 'event' => $booking_item->toJsonEvent()));
 }