Example #1
0
 public function getSearchHoteles(Request $request)
 {
     //servicios
     $ent = new entidadturistica();
     $valoracion = new valoracion();
     $servs = new servicios();
     $nombreFotos = $servs->nombreFotos();
     $nombres = $servs->nombres();
     $array_keys = (array) $servs['fillable'];
     unset($array_keys[12]);
     //--------
     $habitaciones = new habitacion();
     $entidad = new entidadTuristica();
     $result['estadoEscogido'] = null;
     $request['motivo'] = Session::get('motivo');
     $request['estado'] = Session::get('estado');
     if ($request->has('page')) {
         if (Session::get('searchAll') == 'true') {
             $fecha = Carbon::now();
             $request['tarifa'] = Session::get('tarifa');
             $request['estrellas'] = Session::get('estrellas');
             $request['capacidad'] = Session::get('capacidad');
             $request['fecha'] = Session::get('fecha');
             $hoteles = $entidad->search($request->all());
         } else {
             $hoteles = $entidad->search($request->all());
         }
     } else {
         Session::set('searchAll', 'false');
         $hoteles = $entidad->search($request->all());
         //aqui seteo las variables de session ("todaaass!!!!") :D;
     }
     $hotelesConDisponibilidad = [];
     if ($request->has('fecha')) {
         $fecha = explode(" - ", $request->fecha);
         foreach ($hoteles as $h) {
             if ($ent->tieneDisponibilidad($h->rif, $fecha)) {
                 array_push($hotelesConDisponibilidad, $h);
             }
         }
         $hoteles = $hotelesConDisponibilidad;
     }
     $hoteles = $entidad->transformForPaginate($hoteles);
     $result['pagination'] = $hoteles;
     $result['hoteles'] = $habitaciones->getTarifas2($hoteles);
     $result['estados'] = estados::all();
     //Servicios
     foreach ($result['hoteles'] as $hotel) {
         $hotel['servicios'] = servicios::where('identidad', $hotel['rif'])->first();
         $hotel['valoracion'] = $valoracion->getCalificacion($hotel['rif']);
     }
     $result['array_keys'] = $array_keys;
     $result['nombreFotos'] = $nombreFotos;
     $result['nombres'] = $nombres;
     $result['search'] = Session::set('searchAll', 'false');
     //----------
     $view = View::make('web.listadoHoteles')->with('result', $result);
     if ($request->ajax()) {
         $sections = $view->renderSections();
         $response = Response::json(['success' => true, 'data' => $sections['list']], 200);
     } else {
         $response = $view;
     }
     return $response;
 }