modificar_usuario
Modificar Usuario
modificar_usuario (administrador_usuario as Boolean, id_usuario as Integer, nombre as String, apellido as String, clave as String, id_idioma as String,(opcional) codigo_postal as String, (opcional)dato_adicional_1, (opcional) dato_adicional_2, (opcional) dato_adicional_3, (opcional) direccion as String, (opcional) email as String, (opcional) localidad as String, (opcional) telefono as String, (opcional) url as String, (opcional) foto_nombre as String, (opcional) foto_base64 as Base64)
El método modifica un usuario en el campus. Modifica solamente los datos generales del usuario, es decir aquellos que no están relacionados con los grupos a los que pertenecen.
Devuelve: [1|error]
Funcionamiento
- Si queremos modificar un usuario debemos especificar minimamente valores para los siguientes campos obligatorios:'id_usuario', 'nombre', 'apellido', 'clave', 'id_idioma', 'administrador_usuario'.
- El 'id_usuario' ingresado esta sujeto a las mismas validaciones a las que he sometido al ingresarlo desde la administración.
- El 'nombre' ingresado no puede superar los 50 caracteres.
- El 'apellido' ingresado no puede superar los 50 caracteres.
- El valor ingresado para el campo 'clave' esta sujeto a las restricciones definidas en la configuración.
- La clave establecida es siempre permanente.
- El valor ingresado para el campo 'id_idioma' debe corresponder con un valor de 'id_idioma' existente en la tabla idiomas.
- Si no se especifican valores para los campos no obligatorios, estos permanecen vacíos, es decir no existen valores por defecto definidos para ellos.
- El campo 'administrador_usuario' es de tipo booleano, por lo tanto deberían pasarse valores 0 o 1, o 'true' o 'false'.
- Si queremos modificar un usuario seteandolo como webmaster(administrador_usuario debe ser cualquier valor distinto de vació, false, 0), se creará un registro de ese usuario para cada grupo existente en la plataforma, con los siguientes valores por defecto:
- En 'perfil' se seteará "I".
- En 'estado' se seteará 2A".
- En 'administrador_grupo' se seteará "-".
- dato_adicional_1 = indica el contenido del campo 'valor' de la tabla 'datos_adicionales_valores', cuyo campo 'id_campo', corresponde al 'id_campo' de la tabla 'datos_adicionales_legacy' para el registro con 'nombre_campo' = "empresa_usuario". Esto no significa que el valor en cuestión sea el correspondiente al dato adicional EMPRESA_ACTUAL, sino que corresponde al valor del dato adicional cuyo 'id_campo', en la tabla 'datos_adicionales_campos', es el mismo que el 'id_campo' para el registro correspondiente al 'nombre_campo' = "empresa_usuario".
- dato_adicional_2 = indica el contenido del campo 'valor' de la tabla 'datos_adicionales_valores', cuyo campo 'id_campo', corresponde al 'id_campo' de la tabla 'datos_adicionales_legacy' para el registro con 'nombre_campo' = "telefono2_usuario". Esto no significa que el valor en cuestión sea el correspondiente al dato adicional TELEFONO_MOVIL, sino que corresponde al valor del dato adicional cuyo 'id_campo', en la tabla 'datos_adicionales_campos', es el mismo que el 'id_campo' para el registro correspondiente al 'nombre_campo' = "telefono2_usuario".
- dato_adicional_3 = indica el contenido del campo 'valor' de la tabla 'datos_adicionales_valores', cuyo campo 'id_campo', corresponde al 'id_campo' de la tabla 'datos_adicionales_legacy' para el registro con 'nombre_campo' = "direccion2_usuario". Esto no significa que el valor en cuestión sea el correspondiente al dato adicional OTRO_DOMICILIO, sino que corresponde al valor del dato adicional cuyo 'id_campo', en la tabla 'datos_adicionales_campos', es el mismo que el 'id_campo' para el registro correspondiente al 'nombre_campo' = "direccion2_usuario".
- Si queremos establecer la foto para el usuario, debemos completar dos parámetros: 'foto_nombre' y 'foto_base64'.
- 'foto_nombre':
- en dicho parámetro se especificará el [nombre].[extension] de la foto subida.
- estan permitidas las siguientes extensiones:.gif, .jpg, .jpeg, .png, .bmp.
- 'foto_base64': en dicho parámetro se especificará la codificación en base64 correspondiente a la foto en cuestión.
- tener en cuenta que el contenido base64 especificado puede o no incluir el MIME, se debería poder procesar de las dos maneras.
- los tipos de mime types válidos son: image/gif, image/jpeg, image/png, image/bmp.
- Ejemplo de conversor de imagenes a base64 online: http://emiliocobos.net/demos/conversor-de-imagenes-a-base64/
- La posibilidad de subir la foto del usuario será opcional, pero si se hace, es obligatorio completar ambos parámetros.
- si el parámetro 'foto_nombre' se envía vacío, esto indica borrado de la foto actual, si es que existe.
- Lo que se hará es crear la imagen con el [nombre].[extension] especificado en 'foto_nombre' y con el contenido especificado en 'foto_base64'.
Ejemplo de Respuesta
Ejemplo de respuesta de la llamada modificar_usuario con los datos a modificar en un usuario
- Llamada:
<aula:modificar_usuario>
<aula:usuario>
<aula:administrador_usuario></aula:administrador_usuario>
<aula:id_usuario>manes2</aula:id_usuario>
<aula:nombre>facu</aula:nombre>
<aula:apellido>manes</aula:apellido>
<aula:clave>asd123</aula:clave>
<aula:id_idioma>10</aula:id_idioma>
<aula:codigo_postal></aula:codigo_postal>
<aula:dato_adicional_1></aula:dato_adicional_1>
<aula:dato_adicional_2></aula:dato_adicional_2>
<aula:dato_adicional_3></aula:dato_adicional_3>
<aula:direccion></aula:direccion>
<aula:email></aula:email>
<aula:localidad>Salto</aula:localidad>
<aula:telefono></aula:telefono>
<aula:url></aula:url>
<aula:foto_nombre>lisa.jpg</aula:foto_nombre>
<aula:foto_base64>data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAkGBwgHBgkICAgKCgkLDhcPDg0NDhwUFREXIh4jIyEeI....</aula:foto_base64>
</aula:usuario>
</aula:modificar_usuario>
En esta llamada, podemos observar que: se solicita modificar los atributos para un usuario con 'id_usuario'= "manes2".
- Respuesta:
<modificar_usuario_response xmlns="urn:Educativa/Aula/">
<estado>1</estado>
</modificar_usuario_response>
Errores de validación
- Educativa::Aula::Error::IdUsuarioInvalido - ocurre cuando la identificación del usuario contiene caracteres inválidos.
- Educativa::Aula::Error::UsuarioInexistente - ocurre cuando el usuario no se encuentra registrado en la plataforma.
- Educativa::Error::InvalidEmailAddress - ocurre cuando el mail ingresado no es una dirección válida.
- Educativa::Aula::Error::InvalidNombreApellidoUsuario - cuando el nombre o apellido ingresado contienen caracteres no permitidos.
- Educativa::Error::ClaveUsuarioInvalida - cuando la clave ingresada no cumple con la política de claves definida en la plataforma.
- Educativa::Error::IdiomaInvalido - cuando el id_idioma ingresado no esta definido en la plataforma.
- Educativa::Aula::Error::UrlUsuario - cuando la url ingresada no contiene http:// o https:// al inicio.
- Educativa::Aula::Error::DAValorInvalido - cuando uno de los valores asignados a los campos de la forma dato_adicional_[n] no cumple con las validaciones definidas, si es que estos apuntan a uno de los datos adicionales con validaciones: SITIO_WEB, DOCUMENTO, SEXO.
- Educativa::Aula::Error::NombreArchivoInvalido - cuando el [nombre].[extension], ingresados en 'foto_nombre', supera los 250 caracteres.También ocurre cuando las tags del parámetro fueron borradas , siendo que que el párametro 'foto_base64' si fue especificado.
- Educativa::Aula::Error::ExtensionInvalida - cuando la [extension] del nombre ingresado en 'foto_nombre' no esta dentro de las siguientes: .gif, .jpg, .jpeg, .png, .bmp.
- Educativa::Aula::Error::TipoMimeInvalido - el tipo de mime definido en la cabecera de la cadena, especificada en 'foto_base64', no corresponde a uno de los tipos de mimes definidos para los tipos de archivos permitidos.
- Educativa::Aula::Error::Base64Invalido - cuando habiendo especificado valor para el parámetro 'foto_nombre', el parámetro 'foto_base64' fue especificado vacío, o sus tags fueron borradas directamente.