/** * List of charge */ public function liste($filtre) { if (Input::has('type')) { Session::put('filtre_charge.type', Input::get('type')); if (Input::has('filtre_start')) { $date_start_explode = explode('/', Input::get('filtre_start')); Session::put('filtre_charge.start', $date_start_explode[2] . '-' . $date_start_explode[1] . '-' . $date_start_explode[0]); } if (Input::has('filtre_end')) { $date_end_explode = explode('/', Input::get('filtre_end')); Session::put('filtre_charge.end', $date_end_explode[2] . '-' . $date_end_explode[1] . '-' . $date_end_explode[0]); } else { Session::put('filtre_charge.end', date('Y-m-d')); } } if (Session::has('filtre_charge.type')) { $filtre = Session::get('filtre_charge.type'); } if (Session::has('filtre_charge.start')) { $date_filtre_start = Session::get('filtre_charge.start'); $date_filtre_end = Session::get('filtre_charge.end'); } else { $date_filtre_start = date('Y-m') . '-01'; $date_filtre_end = date('Y-m') . '-' . date('t', date('m')); } $setDate = new DateTime(); $date_now = $setDate->format('Y-m-d'); $setDate->modify('+8 days'); $date_deadline = $setDate->format('Y-m-d'); $q = Charge::orderBy('date_charge', 'DESC'); switch ($filtre) { case 'all': $q->whereBetween('date_charge', array($date_filtre_start, $date_filtre_end)); break; case 'deadline_close': $q->whereBetween('deadline', array($date_now, $date_deadline))->whereNotNull('deadline')->whereNull('date_payment'); break; case 'deadline_exceeded': $q->where('deadline', '<', $date_now)->whereNotNull('deadline')->whereNull('date_payment'); break; } $charges = $q->paginate(15); return View::make('charge.liste', array('charges' => $charges, 'filtre' => $filtre)); }