public function modificar($id) { Session::tienePermiso('entidad_modificar'); $this->view->setEncabezado("Modificar entidad"); $this->view->setTitulo("Entidad"); $estados = EstadoEntidad::obtenerTodos(); $necesidades = NecesidadEntidad::obtenerTodos(); $servicios = ServicioPrestado::obtenerTodos(); if (isset($_POST['params'])) { $this->check_csrf('post'); $this->actualizar_csrf(); $entidadModif = EntidadReceptora::nuevo($_POST['params']['entidad']); $this->validarCampos($entidadModif); $modif = $_POST['params']['entidad']; $entidad = EntidadReceptora::getById($id); if (count($entidadModif->getErrores()) == 0) { $repetido = EntidadReceptora::buscarPor('razon_social', $modif['razon_social']); if (sizeof($repetido) == 0 || $repetido[0]['id'] == $id) { $entidad->setRazon_social($modif['razon_social']); $entidad->setTelefono($modif['telefono']); $entidad->setDomicilio($modif['domicilio']); $entidad->setEstado_entidad_id($modif['estado_entidad_id']); $entidad->setNecesidad_entidad_id($modif['necesidad_entidad_id']); $entidad->setServicio_prestado_id($modif['servicio_prestado_id']); if (!$entidad->actualizar()) { $this->view->setError("no puedo actualizarse la entidad."); } } else { $this->view->setError("La razón social ya existe"); } if ($this->view->getError() != null) { $this->view->renderizar("formulario", array("entidad" => $entidad, "estados" => $estados, "necesidades" => $necesidades, "servicios" => $servicios, "accion" => "modificar", "encabezado" => "Modificar entidad receptora", "token" => $this->token, "token_id" => $this->token_id)); } else { $this->redireccionar('entidad/listado/&m=c'); } } else { $this->view->setError("Modifique los campos indicados."); $entidadModif->setId($id); $this->view->renderizar("formulario", array("entidad" => $entidadModif, "accion" => "modificar", "servicios" => $servicios, "estados" => $estados, "necesidades" => $necesidades, "token" => $this->token, "token_id" => $this->token_id)); } } else { $entidad = EntidadReceptora::getById($id); if ($entidad->getId() != null) { $this->view->renderizar("formulario", array("entidad" => $entidad, "estados" => $estados, "necesidades" => $necesidades, "servicios" => $servicios, "accion" => "modificar", "encabezado" => "Modificar entidad receptora", "token" => $this->token, "token_id" => $this->token_id)); } else { $this->redireccionar('entidad/listado'); } } }