Modificar grupo

modificar_grupo (id_grupo as Integer, (opcional) nombre_grupo as String, (opcional) descripcion as String, (opcional) estado as Boolean, (opcional) id_usuario_administrador as String, (opcional) id_idioma as Integer, (opcional) id_curso_externo as Integer, (opcional) fecha_inicio_grupo as Date, (opcional) fecha_finalizacion_grupo as Date)

El método modifica las características esenciales de un grupo. El único campo obligatorio es el 'id_grupo', el resto son opcionales. Las características posibles de modificar son: 'nombre', 'descripcion', 'estado', 'id_usuario_administrador', 'id_idioma', 'id_curso_externo', 'fecha_inicio_grupo', 'fecha_finalizacion_grupo'.

Devuelve: [true|error]

Estado de la acción, true si se puede realizar la modificación. En el caso de que no se pueda realizar la modificación devolverá el error correspondiente.


Funcionamiento

  • Si queremos modificar una o más características de un grupo, corremos el WS pasándole como parámetros el 'id_grupo' correspondiente, y las características que se quieren modificar.
  • El 'nombre' ingresado no puede superar los 255 caracteres.
  • La 'descripción' ingresada no puede superar los 255 caracteres.
  • Si queremos desactivar el grupo el parámetro 'estado' debe ser 0, con cualquier otro valor para el parámetro 'estado' el grupo se activará.
  • Si queremos cambiar el usuario administrador encargado en el manejo de mails, debemos especificar para el parámetro 'id_usuario_administrador' un usuario que sea webmaster o administrador en el grupo en cuestión.
  • El 'id_idioma' ingresado debe corresponder con uno de los 'id_idioma' definidos en la plataforma
  • Si queremos relacionar el grupo con un curso externo, debemos especificar la identificación del curso externo mediante el parámetro 'id_curso_externo', cuyo valor no debe superar los 16 caracteres. Si lo que queremos es eliminar la relación que un grupo tiene con un curso externo, debemos pasar 'id_curso_externo' = - .
  • Si queremos limitar la activación del grupo por fechas, debemos especificar los parámetros 'fecha_inicio_grupo' y/o 'fecha_finalizacion_grupo'.
    • El formato de fecha a ingresar es de la siguiente forma: aaaa-mm-dd.
    • En el caso que uno de los campos se establezca vacío, se borrara la fecha correspondiente, si es que existía.
    • En el caso que ambos campos se establezcan vacíos, se borraran las fechas correspondientes, si es que existían.
    • El funcionamiento de fechas es el siguiente: si el rango de fecha indica activación/desactivación del grupo, esta tiene mayor precedencia que el 'estado' (activo/desactivo) seteado para el grupo. Es decir, el 'estado' termina siendo determinado por las fechas, independientemente del 'estado' especifico informado.
    • Tener en cuenta que el seteo de fecha inicio y fecha de fin pueden acarrear una DESACTIVACIÓN de grupo, en el caso de que la fecha actual este fuera del rango establecido de apertura.
    • Tener en cuenta que el seteo de fecha inicio y fecha de fin pueden acarrear una ACTIVACIÓN del grupo, en el caso que se borren las fechas existentes que indicaban que el grupo estaba desactivo por fecha, o que se setee un nuevo rango de fechas y la fecha actual se encuentra dentro de dicho rango.


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada modificar_grupo,


Llamada:


      <aula:modificar_grupo>
        <aula:id_grupo>71</aula:id_grupo>
        <aula:nombre>grupo renovado</aula:nombre>
        <aula:descripcion>este grupo ha sido renovado</aula:descripcion>
        <aula:estado>0</aula:estado>
        <aula:id_usuario_administrador>poxi_admin</aula:id_usuario_administrador>
        <aula:id_idioma></aula:id_idioma>
        <aula:id_curso_externo>-</aula:id_curso_externo>
        <aula:fecha_inicio_grupo>2015-02-03</aula:fecha_inicio_grupo>
        <aula:fecha_finalizacion_grupo>2015-11-04</aula:fecha_finalizacion_grupo>
      </aula:modificar_grupo>


  • En esta llamada, podemos observar que se solicita modificar el grupo con 'id_grupo'= 71 con las siguientes características:
    • 'nombre'= "grupo renovado".
    • 'descripcion'= "este grupo ha sido renovado".
    • 'estado'= "0". Se indica desactivar el grupo. Pero se hará caso omiso de este valor, ya que el estado final se verá determinado por las fechas.
    • 'id_usuario_administrador'= "poxi_admin".
    • 'id_curso_externo'= "-". Se indica quitar la relación existente con un curso externo.
    • 'fecha_inicio_grupo'= "2015-02-03". Se indica que el grupo estará abierto desde la fecha 2015-02-03.
    • 'fecha_finalización_grupo'= "2015-11-04". Se indica que el grupo estará cerrado desde la fecha 2015-11-04.


Respuesta:


 <modificar_grupo_response xmlns="urn:Educativa/Aula/">
        <estado>true</estado>
     </modificar_grupo_response>


Errores de validación

  • Educativa::Error::MissingParameter - No se especifico 'id_grupo'
  • Educativa::Aula::Error::GrupoInexistente - No existe el grupo con el 'id_grupo' indicado.
  • Educativa::Aula::Error::ModifyGrupo("Error modificando el grupo: el nombre del grupo ( '$args{nombre}' ) supera los 255 caracteres") - El nombre ingresado para el grupo supera los 255 caracteres.
  • Educativa::Aula::Error::ModifyGrupo("Error modificando el grupo: la descripcion del grupo ( '$args{descripcion}' ) supera los 255 caracteres") - La descripción ingresada para el grupo supera los 255 caracteres.
  • Educativa::Aula::Error::ModifyGrupo("Error modificando el grupo: el usuario ( '$args{id_administrador}' ) no puede ser administrador del grupo" - El usuario elegido como 'administrador encargado en el manejo de mails' NO es webmaster o NO esta definido como 'administrador' para ese grupo.
  • Educativa::Aula::Error::ModifyGrupo("Error modificando el grupo: el usuario ( '$args{id_administrador}' ) no existe en el grupo" - El usuario elegido como 'administrador encargado en el manejo de mails' NO existe en el grupo.
  • Educativa::Error::IdiomaInvalido - El idioma ingresado no corresponde a uno de los idiomas definidos en la plataforma.
  • Educativa::Aula::Error::GrupoRelacionExternaInvalida - El 'id_curso_externo' ingresado supera los 16 caracteres.
  • Educativa::Aula::Error::FechaFormatoInvalido - al ingresar una fecha con un formato distinto a aaaa-mm-dd.
  • Educativa::Aula::Error::FechaInvalida - al ingresar una fecha no existente, ej: no existe dicho día para ese mes.
  • Educativa::Aula::Error::RangoFechaInvalido - cuando la fecha de finalización es anterior a la fecha de inicio.