Esempio n. 1
0
 public function valida()
 {
     $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', '');
     $action = Input::get('action', '');
     $idRecurso = Input::get('idRecurso', '0');
     $verpendientes = Input::get('verpendientes');
     $veraprobadas = Input::get('veraprobadas');
     $verdenegadas = Input::get('verdenegadas');
     //$iduser = Input::get('idUser','0';)
     $espaciosConValidacion = $this->espaciosConValidacion();
     //por ejemplo array('10,'11,'21') DONDE 10 -> Salón de actos,11->Sala de juntas, 21->Seminario B2		//validamos (aprobar o denegar) evento
     $solapamientos = false;
     $msgforuser = '';
     if ($action == 'aprobar') {
         //vemos si hay solapamientos con solicitudes ya aprobadas
         $events = Evento::where('evento_id', '=', $evento_id)->get();
         foreach ($events as $event) {
             $where = "fechaEvento = '" . $event->fechaEvento . "' and ";
             $where .= " (( horaInicio <= '" . $event->horaInicio . "' and horaFin >= '" . $event->horaFin . "' ) ";
             $where .= " or ( horaFin > '" . $event->horaFin . "' and horaInicio < '" . $event->horaFin . "')";
             $where .= " or ( horaInicio > '" . $event->horaInicio . "' and horaInicio < '" . $event->horaFin . "')";
             $where .= " or horaFin < '" . $event->horaFin . "' and horaFin > '" . $event->horaInicio . "')";
             $where .= " and evento_id != '" . $evento_id . "'";
             $where .= " and estado = 'aprobada'";
             $numSolapamientos = Recurso::find($idRecurso)->events()->whereRaw($where)->count();
             if ($numSolapamientos > 0) {
                 $solapamientos = true;
             }
         }
         if (!$solapamientos) {
             //update column estado en BD
             $filasAfectadas = Evento::where('evento_id', '=', $evento_id)->update(array('estado' => 'aprobada'));
             $accion = 'aprobar';
             $solapamientos = false;
             $msgforuser = '******';
             //Aquí mail to -> user_id && validadores de recurso_id ($accion = aprobar | denegar)
             $sgrMail = new sgrMail();
             $sgrMail->notificaValidacion($accion, $evento_id);
         } else {
             $solapamientos = true;
         }
     } else {
         Evento::where('evento_id', '=', $evento_id)->update(array('estado' => 'denegada'));
         $accion = 'denegar';
         $msgforuser = '******';
         //Aquí mail to -> user_id && validadores de recurso_id ($accion = aprobar | denegar)
         $sgrMail = new sgrMail();
         $sgrMail->notificaValidacion($accion, $evento_id);
     }
     return Redirect::to(route('validadorHome.html', array('solapamientos' => $solapamientos, 'sortby' => $sortby, 'order' => $order, 'id_recurso' => $id_recurso, 'id_user' => $id_user, 'idEventoValidado' => $evento_id, 'verpendientes' => $verpendientes, 'veraprobadas' => $veraprobadas, 'verdenegadas' => $verdenegadas, 'msgforuser' => $msgforuser)));
 }