Asignar usuarios en grupos

asignar_usuarios_grupos (1{ id_usuario as String , usuario_grupo as UsuarioGrupoAlta}n)

usuario_grupo as UsuarioGrupoAlta= id_grupo as Integer, administrador_grupo as String, estado as Boolean, perfil as String

El método asigna usuarios a grupos con las características especificadas(pudiendo discriminar QUE usuarios queremos asignar en QUE grupos específicos.)

Devuelve: 1{id_usuario + id_grupo + estado + (error_code + error_string)}n

  • estado 'true' si pudo asignar correctamente el usuario al grupo indicado: por cada tupla de datos que se pudo procesar correctamente.
  • estado 'false' si no pudo asignar correctamente el usuario al grupo indicado: por cada tupla de datos que no se pudo procesar correctamente. En este caso se muestra también el error correspondiente.


Funcionamiento

  • Si queremos asignar un usuario a un grupo específico, debemos correr el WS para ese 'id_usuario', especificando además, los siguientes parámetros: 'id_grupo', 'perfil', 'estado', 'administrador_grupo'.
  • Los parámetros 'perfil', 'estado' y 'administrador_grupo' son opcionales, si no se especifican se les asignan los siguientes valores por defecto:
    • 'perfil' se seteará "A".
    • 'estado' se seteará "A".
    • 'administrador_grupo' se seteará "-".
  • La estructura correspondiente(aula:usuario_grupo) debe ser repetida n veces según la cantidad de tuplas usuario-grupo que se quieran procesar.
  • El usuario ya debe pertenecer a la plataforma, no puede ser un usuario nuevo.


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada asignar_usuarios_grupos con dos usuarios y dos grupos al cual asignarlos, que indica agregar cada uno de los usuarios al grupo especificado para cada uno de ellos:


  • Llamada:

   <aula:asignar_usuarios_grupos>
       <aula:asignar_usuarios_grupos>
          <aula:id_usuario>aime</aula:id_usuario>
          <aula:usuario_grupo>
             <aula:id_grupo>21</aula:id_grupo>
             <aula:administrador_grupo>1</aula:administrador_grupo>
             <aula:estado>1</aula:estado>
             <aula:perfil>A</aula:perfil>
          </aula:usuario_grupo>
       </aula:asignar_usuarios_grupos>
       <aula:asignar_usuarios_grupos>
          <aula:id_usuario>bunge</aula:id_usuario>
          <aula:usuario_grupo>
             <aula:id_grupo>22</aula:id_grupo>
             <aula:administrador_grupo>1</aula:administrador_grupo>
             <aula:estado>1</aula:estado>
             <aula:perfil>A</aula:perfil>
          </aula:usuario_grupo>
       </aula:asignar_usuarios_grupos>

En esta llamada, podemos observar que se solicita asignar dos usuarios a dos grupos distintos:

  • El usuario aime, al grupo con 'id_grupo'= "21", y con las siguientes características en relación a la pertenencia al grupo:
    • 'perfil'= "A", indica que el usuario es Alumno para este grupo, se guarda en la base 'categoría_usuario' = "A".
    • 'estado'= "1", indica que el usuario esta activado para este grupo, se guarda en la base 'estado_usuario'= "A".
    • 'administrador_grupo'= "1", indica que el usuario es administrador del grupo, se guardara en la base 'administrador_curso'= "X".
  • El usuario bunge, al grupo con 'id_grupo'= "22", y con las siguientes características en relación a la pertenencia al grupo:
    • 'perfil'= "A", indica que el usuario es Alumno para este grupo, se guarda en la base 'categoría_usuario' = "A".
    • 'estado'= "1", indica que el usuario esta activado para este grupo, se guarda en la base 'estado_usuario'= "A".
    • 'administrador_grupo'= "1", indica que el usuario es administrador del grupo, se guardara en la base 'administrador_curso'= "X".


  • Respuesta:

      <asignar_usuarios_grupos_response xmlns="urn:Educativa/Aula/">
       <usuario_grupo>
          <id_usuario>aime</id_usuario>
          <id_grupo>21</id_grupo>
          <estado>true</estado>
       </usuario_grupo>
       <usuario_grupo>
          <id_usuario>bunge</id_usuario>
          <id_grupo>22</id_grupo>
          <estado>false</estado>
          <error>
             <error_code>Educativa::Aula::Error::UsuarioInexistente</error_code>
             <error_string>No existe el usuario "bunge"</error_string>
          </error>
       </usuario_grupo>
    </asignar_usuarios_grupos_response>

Tanto el mensaje indicando que la asignación fue realizada correctamente, como el mensaje por error de validación, deben presentarse junto con el id_usuario y el id_grupo ingresados correspondientes. Es decir, en la salida debe mostrarse un bloque por cada dupla de datos ingresada junto con un mensaje indicando la situación de cada una.


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 existe en la plataforma.
  • Educativa::Aula::Error::IdGrupoInvalido - ocurre cuando el 'id_grupo' ingresado no es integer o es superior al numero mayor permitido.
  • Educativa::Aula::Error::GrupoInexistente - ocurre cuando se intenta obtener un grupo que no existe en la base de datos.
  • Educativa::Aula::Error::UsuarioExistenteEnGrupo - ocurre cuando el usuario ya se encuentra registrado en el grupo.
  • Educativa::Aula::Error::PerfilUsuarioInvalido - ocurre cuando el perfil ingresado no corresponde a uno de los perfiles existentes en la plataforma.