public function editAction() { $this->layout('layout/sbadmin'); $params['objectID'] = (int) $this->params()->fromRoute('id', 0); if ($params['objectID']) { $params['formTitle'] = "Editar Grupo"; $params['json'] = $this->load($params['objectID']); } else { $params['formTitle'] = "Nuevo Grupo"; $params['json'] = "{}"; } $permisosDAO = new PermisoDao($this->getServiceLocator()); $params['permisos'] = $permisosDAO->getAllObjects(array('activo' => 1)); $usuariosDAO = new UsuarioDao($this->getServiceLocator()); $params['usuarios'] = $usuariosDAO->getAllObjects(array('activo' => 1)); $gruposPermisosDAO = new GrupoPermisoDao($this->getServiceLocator()); $gruposUsuariosDAO = new GrupoUsuarioDao($this->getServiceLocator()); $params['permisos_asignados'] = $gruposPermisosDAO->getAllObjects(array('gru_id' => $params['objectID'], 'activo' => 1, 'habilitado' => 1)); $params['usuarios_asignados'] = $gruposUsuariosDAO->getAllObjects(array('gru_id' => $params['objectID'], 'activo' => 1, 'habilitado' => 1)); $idxPP = 0; foreach ($params['permisos'] as $permiso) { foreach ($params['permisos_asignados'] as $permisoAsignado) { if ($permisoAsignado->getPermiso()->getId() == $permiso->getId()) { unset($params["permisos"][$idxPP]); break; } } $idxPP++; } $idxPU = 0; foreach ($params['usuarios'] as $usuario) { foreach ($params['usuarios_asignados'] as $usuarioAsignado) { if ($usuarioAsignado->getUsuario()->getId() == $usuario->getId()) { unset($params["usuarios"][$idxPU]); break; } } $idxPU++; } return $params; }
public function saveAction() { $this->layout('layout/empty'); if ('POST' == $_SERVER['REQUEST_METHOD']) { $usu_id = $_POST["usu_id"]; $ldap = $_POST["ldap"]; $habilitado = $_POST["habilitado"]; //TODO: ¿Hace falta utilizar los métodos Zend\Http\Request? $usuarioDao = new UsuarioDao($this->getServiceLocator()); try { if (!Validator::required($ldap)) { throw new Exception(); } #Requerido if (!Validator::inSize($ldap, 3, 64)) { throw new Exception(); } #Min: 3 - #Max: 32 // if(!Validator::onlySentence($nombre)) {throw new Exception();} #Oración //TODO: Validación para tipo especial nombre de usuario if (!Validator::onlyBoolean($habilitado)) { throw new Exception(); } #Oración $objUsuario = new Usuario(); $objUsuario->setId($usu_id); $objUsuario->setLDAP($ldap); $objUsuario->setHabilitado($habilitado); $objUsuario->setActivo(1); if (!$usuarioDao->save($objUsuario)) { throw new Exception("Error al guardar el usuario"); } //TODO: guardar log ok $data["objectID"] = $objUsuario->getId(); RestResponse::createResponse(RestResponse::OK, $data, "Usuario guardado correctamente"); } catch (Exception $e) { RestResponse::createResponse(RestResponse::SERVER_ERROR, null, "No se pudo guardar el usuario"); } } }