public function index()
 {
     $sortby = Input::get('sortby', 'estado');
     $order = Input::get('order', 'desc');
     $id_recurso = Input::get('id_recurso', '0');
     $id_user = Input::get('id_user', '0');
     $evento_id = Input::get('evento_id', '');
     $verpendientes = Input::get('verpendientes', false);
     $veraprobadas = Input::get('veraprobadas', false);
     $verdenegadas = Input::get('verdenegadas', false);
     $msgforuser = Input::get('msgforuser', '');
     $espaciosConValidacion = $this->espaciosConValidacion();
     //array de identificadores
     $solapamientos = Input::get('solapamientos', false);
     $idEventoValidado = Input::get('idEventoValidado', '');
     //resultado de la valida
     $estados = array('pendiente');
     $userFilterestado = array();
     if ($verpendientes) {
         $userFilterestado[] = 'pendiente';
     }
     if ($veraprobadas) {
         $userFilterestado[] = 'aprobada';
     }
     if ($verdenegadas) {
         $userFilterestado[] = 'denegada';
     }
     if (!$verdenegadas && !$veraprobadas) {
         $userFilterestado[] = 'pendiente';
     }
     if (!empty($userFilterestado)) {
         $estados = $userFilterestado;
         $verpendientes = true;
     }
     //mostramos la lista de eventos para todos los usuarios
     if ($id_recurso == 0 && $id_user == 0) {
         //todos los eventos pendientes
         $events = Evento::whereIn('estado', $estados)->whereIn('recurso_id', $espaciosConValidacion)->groupby('evento_id')->orderby('fechaInicio', 'Asc')->orderby($sortby, $order)->paginate(10);
     } else {
         if ($id_recurso == 0 && $id_user != 0) {
             //solo los eventos de un usuario (todos los recursos)
             $events = Evento::whereIn('estado', $estados)->whereIn('recurso_id', $espaciosConValidacion)->where('user_id', '=', $id_user)->groupby('evento_id')->orderby('fechaInicio', 'Asc')->orderby($sortby, $order)->paginate(10);
         } else {
             if ($id_recurso != 0 && $id_user == 0) {
                 //solo los eventos de un recurso (todos los usuarios)
                 $events = Evento::where('recurso_id', '=', $id_recurso)->whereIn('estado', $estados)->groupby('evento_id')->orderby('fechaInicio', 'Asc')->orderby($sortby, $order)->paginate(10);
             } else {
                 if ($id_recurso != 0 && $id_user != 0) {
                     //solo eventos de un usuario en un determinado recurso
                     $events = Evento::where('recurso_id', '=', $id_recurso)->where('user_id', '=', $id_user)->whereIn('estado', $estados)->groupby('evento_id')->orderby('fechaInicio', 'Asc')->orderby($sortby, $order)->paginate(10);
                 }
             }
         }
     }
     //Usuarios con solicitudes en espacios con validadción
     $eventsByUser = Evento::whereIn('recurso_id', $espaciosConValidacion)->groupby('user_id')->get();
     $recursos = Auth::user()->valida;
     $sgrUser = new sgrUser(Auth::user());
     return View::make('validador.validaciones')->with('msg', $msgforuser)->with(compact('events', 'verpendientes', 'veraprobadas', 'verdenegadas'))->with('sortby', $sortby)->with('order', $order)->with('idrecurso', $id_recurso)->with('iduser', $id_user)->with('solapamientos', $solapamientos)->nest('dropdown', 'admin.dropdown', compact('sgrUser'))->nest('menuValidador', 'validador.menuValidador', compact('recursos', 'id_recurso', 'id_user', 'eventsByUser', 'verpendientes', 'veraprobadas', 'verdenegadas'));
 }
Example #2
0
 /**
  *
  * //Devuelve los eventos pendientes de realización (aprobados o pendientes) a partir de hoy 
  */
 public function eventosfuturos()
 {
     if ($this->recurso->puestos->count() > 0) {
         //Tiene puestos
         foreach ($this->recurso->puestos as $puesto) {
             $id_puestos[] = $puesto->id;
         }
         return Evento::whereIn('recurso_id', $id_puestos)->where('fechaEvento', '>=', date('Y-m-d'))->whereIn('estado', array(Config::get('options.reservaAprobada'), Config::get('options.reservaPendiente')))->get();
     } else {
         //No tiene puestos
         return $this->recurso->events()->where('fechaEvento', '>=', date('Y-m-d'))->whereIn('estado', array(Config::get('options.reservaAprobada'), Config::get('options.reservaPendiente')))->get();
     }
 }
Example #3
0
 /**
  * //Devuelve los eventos para el día $fechaEvento
  *	@param $fechaEvento string formato Y-m-d
  *	@return Collection Object Evento
  *
  */
 public function getEvents($fechaEvento, $estado = '')
 {
     if (empty($estado)) {
         $estado = Config::get('options.estadoEventos');
     }
     //sino se especifica ningún estado para los eventos a obtener se obtienen todos independiente de su estado
     if ($this->recurso->equipos->count() > 0) {
         foreach ($this->recurso->equipos as $equipo) {
             $id_equipos[] = $equipo->id;
         }
         return Evento::whereIn('recurso_id', $id_equipos)->whereIn('estado', $estado)->where('fechaEvento', '=', $fechaEvento)->groupby('evento_id')->orderby('horaFin', 'desc')->orderby('horaInicio')->get();
     } else {
         return $this->recurso->events()->whereIn('estado', $estado)->where('fechaEvento', '=', $fechaEvento)->get();
     }
 }
Example #4
0
 /**
  * Implementa requisito: ofrecer sumatorio de puestos o equipos reservados
  * 
  * @param void
  * @return $total int número total de puestos o equipos asociados a una misma reserva 
  */
 public function total()
 {
     $total = 0;
     if ($this->recurso->tipo != 'espacio') {
         $total = Evento::where('evento_id', '=', $this->evento_id)->where('horaInicio', '=', $this->horaInicio)->where('fechaEvento', '=', $this->fechaEvento)->count();
     }
     //Bug PODController, quitar el año q viene
     $userPOD = User::where('username', '=', 'pod')->first();
     //$eventoTest = Evento::whereIn('recurso_id',$alist_id)->where('fechaEvento','=',$strDate)->orderBy('horaInicio','asc')->groupby('evento_id')->first();
     $idPOD = $userPOD->id;
     $iduser = 0;
     $iduser = $this->user_id;
     if ($iduser == $idPOD) {
         $recursos = Recurso::where('grupo_id', '=', $this->recurso->grupo_id)->get();
         $alist_id = array();
         foreach ($recursos as $recurso) {
             $alist_id[] = $recurso->id;
         }
         $total = Evento::whereIn('recurso_id', $alist_id)->where('fechaEvento', '=', $this->fechaEvento)->where('horaInicio', '=', $this->horaInicio)->where('titulo', '=', $this->titulo)->count();
     }
     //fin del bug
     return $total;
 }