Asignar Responsable de Unidad

asignar_responsable_unidad (1{ id_usuario as String, Id_curso as Integer, (opcional) id_unidad as Integer}n)

El método permite establecer el responsable requerido de las unidades. Para lo cual se validará que el usuario exista en ese grupo y NO tenga perfil "A" (Alumno).

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

  • estado 'true' si pudo asignar correctamente el responsable a la unidad o a todas las unidades del grupo: por cada tupla de datos que se pudo procesar correctamente.
  • estado 'false' si no pudo asignar correctamente el responsable a la unidad o a todas las unidades del grupo: por cada tupla de datos que no se pudo procesar correctamente. En este caso se muestra también el error correspondiente.


Funcionamiento

  • Permite asignar distintos responsables requeridos para cada unidad de un grupo, utilizando el parámetro opcional id_unidad. Si dicho parámetro no se utiliza se establecerá el mismo responsable para todas las unidades del grupo.
  • Con responsable requerido nos referimos al responsable principal de una unidad (campo 'id_docente' de la tabla programas_).
    • Una unidad tiene un responsable "requerido" y 4 responsables opcionales.
  • Se permite invocar múltiples tuplas usuario-grupo-(unidad).
  • Al asignar un nuevo responsable en la unidad, el responsable anterior deja de ser responsable y NO se asigna como responsable opcional.
  • Al asignar un nuevo responsable en la unidad, si este ya era un responsable opcional , deja de ser opcional y pasa a ser el requerido.


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada asignar_responsable_unidad con dos usuarios y dos grupos, en uno se especifica la unidad por lo tanto el usuario se asignara como responsable solamente de dicha unidad, en el otro no se especifica por lo tanto el usuario se asignará como responsable de todas las unidades del grupo:

  • Llamada:


   <aula:asignar_responsable_unidad>
    <aula:responsable_unidad>
     <aula:id_usuario>pedro</aula:id_usuario>
     <aula:id_curso>5</aula:id_curso>
     <aula:id_unidad>25</aula:id_unidad>
    </aula:responsable_unidad>
     <aula:id_usuario>lucas</aula:id_usuario>
     <aula:id_curso>6</aula:id_curso>
    </aula:responsable_unidad>
   </aula:asignar_responsable_unidad>

En esta llamada podemos ver que se asigna a Pedro como responsable de la unidad 25, en el aula 5; y a Lucas como responsable del aula 6, en todas las unidades.


  • Respuesta:


 <aula:asignar_responsable_unidad>
  <responsable_unidad>
   <id_usuario>pedro</id_usuario>
   <id_curso>5</id_curso>
   <id_unidad>25</id_unidad>
   <estado>false</estado>
   <error>
    <error_code>Educativa::Aula::Error::UsuarioInexistente</error_code>
    <error_string>No existe el usuario "pedro"</error_string>
    </error>
  </responsable_unidad>
  <responsable_unidad>
   <id_usuario>lucas</id_usuario>
   <id_curso>6</id_curso>
   <estado>true</estado>
  </responsable_unidad>
 </aula:asignar_responsable_unidad>


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, el id_grupo y el id_unidad (opcional) ingresados correspondientes. Es decir, en la salida debe mostrarse un bloque por cada tupla de datos ingresada junto con un mensaje indicando la situación de cada una.

En este caso podemos observar que no se pudo asignar a pedro porque no es un usuario del campus pero si a Lucas en el aula 6.


Errores de validación

  • Educativa::Aula::Error::IdUsuarioInvalido - Id_usuario inválido, cuando la identificación del usuario contiene caracteres inválidos.
  • Educativa::Aula::Error::UsuarioInexistente - El usuario no existe, ocurre cuando el usuario no existe en la plataforma.
  • Educativa::Aula::Error::UsuarioAnonimo - El usuario no puede ser el usuario _anonimo.
  • Educativa::Aula::Error::IdGrupoInvalido - El código de aula, el 'id_grupo' ingresado no es integer.
  • Educativa::Aula::Error::GrupoInexistente - El aula no existe en el campus.
  • Educativa::Aula::Error::UsuarioInexistenteEnGrupo - El usuario no existe en el aula en la que debe ser designado responsable.
  • Educativa::Aula::Error::UsuarioConPerfilAlumno - El usuario provisto tiene perfil Alumno en el aula indicada.
  • Educativa::Aula::Error::UnidadInexistente - La unidad no existe en el aula indicada.
  • Educativa::Aula::Error::GrupoSinUnidad - Cuando el aula no tiene unidades.