UNIMOODLE / p31_mod

GNU General Public License v3.0
0 stars 0 forks source link

Pruebas realizadas con los servicios web #45

Open jmerinogranizo opened 1 week ago

jmerinogranizo commented 1 week ago

mod_certifygen_get_id_instance_certificate: devuelve las instancias de certificado de tipo alumno, aunque no se hayan emitido certificado.

mod_certifygen_get_json_certificate: debería devolver el contenido del pdf sin maquetar o al menos los campos dinámicos de la plantilla.

mod_certifygen_get_pdf_certificate: debería devolver el pdf

mod_certifygen_get_courses_as_teacher: Devuelve un json con la lista de cursos en los cuales figura como profesor la persona indicada por su identificador (userid)

mod_certifygen_get_json_teacher_certificate: debería devolver el json con el contenido del pdf sin maquetar de los cursos que ha querido certificar

mod_certifygen_get_pdf_teacher_certificate: debería devolver el pdf con los cursos que ha querido certificar. Me salta excepción en un certificado asociado a un modelo sin validación y con repositorio local: { "exception": "invalid_response_exception", "errorcode": "invalidresponse", "message": "Detectado valor de respuesta no válido", "debuginfo": "error => Detectado valor de respuesta no válido: Error in response - Missing following required key in a single structure: message" }

xpazv commented 6 days ago

Se acuerda incluir los parámetros de método de validación y método de almacenamiento, en la petición de mod_certifygen_get_id_instance_certificat para que sea posible filtrar por estos criterios, y no pedir o ser consciente de que se solicitan peticiones relacionadas con modelos que tienen dependencias externas.

xpazv commented 6 days ago

Proponemos, como alternativa, que los subplugin de validación tengan un parámetro "isvisibleWS" que informe si un modelo, con ese tipo de validación, se listará en el listado de instancias asociadas a un usuario.

De esta manera, para peticiones via servicio Web, solo se mostrarán las instancias asociadas a modelos donde se haya indicado que son susceptibles de ser solicitados via WS.

jmerinogranizo commented 5 days ago

Por mí, no hay problema.

jmerinogranizo commented 4 days ago

He encontrado un nuevo error que se especificó en los requisitos de mod_certifygen_get_id_instance_certificate y es que se muestran las instancias aunque el usuario sobre el que se realiza la petición (el alumno, vamos) no tenga permisos para ver dicha actividad. Entiendo que los criterios de visibilidad deben ser aplicados a todos los servicios webs, al menos a los relacionados con los certificados de alumnos. Es decir que no se puede pedir un pdf de un certificado de alumno si no tiene acceso a dicha actividad dicho alumno. Entiendo que para lo servicios web de certificado de profesor, no lo he comprobado, se controlará que el usuario sobre el que se solicita el permiso tiene potestad para los cursos para los que se solicita su certificado.

elena3ip commented 4 days ago

Hola, hace un rato he hecho una subida en el que incluyo en la respuesta el servicio mod_certifygen_get_id_instance_certificate los campos model idnumber, model repository y que si la actividad no es visible no se devuelva.

Respecto a los permisos que hablas.... el que debe tener permisos para hacer la petición, es el usuario asociado al token con el que se llama al ws, no el usuario sobre el que quieres la información.

jmerinogranizo commented 4 days ago

Hola, hace un rato he hecho una subida en el que incluyo en la respuesta el servicio mod_certifygen_get_id_instance_certificate los campos model idnumber, model repository y que si la actividad no es visible no se devuelva.

Respecto a los permisos que hablas.... el que debe tener permisos para hacer la petición, es el usuario asociado al token con el que se llama al ws, no el usuario sobre el que quieres la información.

Sí, pero ese servicio web, sólo debe mostrar las actividades visibles para ese usuario. Venía en la especificación. He visto que en el sw de get_pdf_teacher_certificate sí tienes controlado sólo solicitarlo de cursos en los que está como profesor y es válido ese modelo.

xpazv commented 4 days ago

Se distinguen varias restricciones:

Queda clarificado que el sw no muestre actividades ocultas para el usuario en el curso.

¿Tampoco debe mostrar la actividad al sw @jmerinogranizo si el usuario, por sus condiciones, no tiene acceso a la actividad?

jmerinogranizo commented 1 day ago

Se distinguen varias restricciones:

* Visiblidad de la actividad (_oculta o visible_)

* Restricciones de acceso a la actividad segun permite establecer Moodle (_fecha, dependencias de otras actividades, nota_ )

Queda clarificado que el sw no muestre actividades ocultas para el usuario en el curso.

¿Tampoco debe mostrar la actividad al sw @jmerinogranizo si el usuario, por sus condiciones, no tiene acceso a la actividad?

Exacto Xavier, imagínate un certificado tipo aptitud del curso. Esa actividad, se restringiría a los usuarios que han superado ciertas actividades, entonces no tendría sentido que el usuario que no ha superado esas actividades (prerrequisitos) pudiera certificarse la realización del curso.

elena3ip commented 1 day ago

El viernes subí esa parte a la rama develop

jmerinogranizo commented 14 hours ago

Hola, hace un rato he hecho una subida en el que incluyo en la respuesta el servicio mod_certifygen_get_id_instance_certificate los campos model idnumber, model repository y que si la actividad no es visible no se devuelva.

Respecto a los permisos que hablas.... el que debe tener permisos para hacer la petición, es el usuario asociado al token con el que se llama al ws, no el usuario sobre el que quieres la información.

Comprobado. Gracias.