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))); }