Cambiar el valor de un atributo del perfil de usuario

cancel
Showing results for 
Search instead for 
Did you mean: 
scm
Member II

Cambiar el valor de un atributo del perfil de usuario

Hola buenas,

Soy nuevo en esto del Alfresco y tengo un problemilla. Intento cambiar desde una aplicación Java el valor del atributo "location" del perfil de un usuario. Lo intento poner a "0", pero no se actualiza en el propio Alfresco. En cambio, al imprimirlo por pantalla inmediatamente después de cambiarlo, sí se ha actualizado. Es como si se actualizara temporalmente pero no se grabara en el Alfresco. Adjunto el código del método que tengo:

public void blockUser() throws InternalErrorException {
        try {

            AuthenticationUtils.startSession("admin","admin");
            AdministrationServiceSoapBindingStub administrationService = WebServiceFactory.getAdministrationService();
            UserDetails userDetails = null;
            userDetails = administrationService.getUser(loginName);
            NamedValue[] propiedades = userDetails.getProperties();
  
            for (NamedValue propiedad : propiedades) {
                if (propiedad.getName().equals("{http://www.alfresco.org/model/content/1.0}location")) {
                   propiedad.setValue("0");
                }
            }

        } catch (Exception e) {
            throw new InternalErrorException(e);
        }
      
   }

Cualquier ayuda es bienvenida.
Muchas gracias!
1 Reply
joherrero
Member II

Re: Cambiar el valor de un atributo del perfil de usuario

Hola!
El problema que tienes es que lo que estás modificando es una copia local pero no la propiedad de Alfresco. Lo que tendrías que hacer es escribir ese nuevo vector de propiedades modificado (o sólo esa propiedad modificada, las dos cosas valen) en el repositorio.