EmoMeza / proyecto-informatico

0 stars 0 forks source link

Conexion entre eventos y su creador #9

Closed mvillarios closed 10 months ago

mvillarios commented 10 months ago

Habíamos pensado en que como los alumnos van a crear solo eventos vistos por ellos mismos y los CAA van crear solo actividades, dejar el id_caa como id_creador y que al crearlo, si lo crea un alumno darle la matrícula, y si lo crea un CAA darle el id de este.

Además lo que se había conversado,

EmoMeza commented 10 months ago

Acabo de pushear. lo que hice fue:

  1. Edité el add/alumno, para que al momento de crearse creara una lista vacia llamada mis_eventos.
  2. Edité el seteo de variable visible a global en add/asistencia
  3. Arreglé un problema que se generaba por la forma en la que el José habia puesto lo de las fechas.
  4. Actualicé el add/evento , de tal forma que al crear un evento se entrega ahora un parametro llamado id_creador, donde o se pone una matricula o se pone un id_objeto de un centro de alumno. Con esto, la funcion revisa el largo del id_creador si es menor que 24 se asume que es matricula y si en cualquier otro caso se asume que es caa (esto porque los id_objeto que son los que utilizamos para los caa, tienen un largo de 24). En caso de ser matricula, guarda dentro de ese alumno el id de el evento en su lista de mis_eventos. Caso contrario solamente lo crea el caa.

Mis dudas son las siguientes:

  1. Quieren que el caa tambien tenga su lista de "mis eventos"?
  2. Como quieren que la variable global se inicialice para cuando es creado por un caa y para cuando es creado por un alumno?
  3. Como esta el codigo de asistencia actualmente cuando se llega a 5 asistencias la variable global se pone en true. Como eso ya no existirá deberia de borrarlo, espero confirmacion para hacer eso.

Si bien testee rapidamente y me funcionó bien, los invito a probar que los enpoints cambiados funcionen correctamente, tomar en cuenta que hay que probar con un alumno nuevo que tenga creada esa lista vacia llamada mis_eventos.

Saludos!

dimaldonado commented 10 months ago

Respuestas a dudas:

  1. Como ahora tenemos id_creador, podemos utilizar el endpoint get filter eventos para obtener todos los eventos que haya creado tanto un caa como un alumno utilizando su matrícula o id_caa como filtro, por lo que no es necesario.
  2. En el front, una de las cosas que hay que agregar al crear un evento por parte de un centro de alumnos, es una opción que diga si el evento que se está creando será global o de carrera. Por lo que debería estar definido al momento de crearlo. De igual manera, sugeriría que por defecto se establezca en false.
  3. Si, eso ya no será necesario, puedes borrarlo.
dimaldonado commented 10 months ago

También necesitaremos otra lista más dentro de alumno, esta la utilizaremos para almacenar los id de los eventos a los que el alumno confirme su asistencia.

EmoMeza commented 10 months ago

En ese caso sería:

Empezaré a trabajar con esos cambios, igualmente les pido @dimaldonado @mvillarios que revisen si eso es lo que quieren.

Saludos!

dimaldonado commented 10 months ago

Si, eso es lo que queremos.👍🏻

EmoMeza commented 10 months ago

Respecto a este punto:

Que cuando un centro de alumno cree un evento la variable global sea lo que indiquen. En caso de no especificar, se seteará en False.

Cuando un alumno crea un evento este siempre tendrá la variable global en false, mientras para los caa, dentro del body que se entrega en formato json al endpoint se puede especificar si se quiere que sea global o no.

El resto de puntos estan cambiados en la siguiente branch

No tengo tiempo ahora mismo para realizar tests asi que si pudieran comprobar su funcionamiento agradeceria bastante.

Cualquier duda o problema me dicen, saludos!

dimaldonado commented 10 months ago
EmoMeza commented 10 months ago

Hola! El primer punto aun esta en proceso, respecto al segundo, basta con hacer el get del alumno una vez esté arreglado para obtener toda la información del mismo, incluido mi_asistencia.

Comentaré de nuevo cuando haya solucionado el problema, saludos!

EmoMeza commented 10 months ago

Hola @dimaldonado !,

Sabes que acabo de liberarme para hacer lo que me pediste de agregar alumno y que el get no funciona segun tu, y resulta que acabo de revisar y no tiene ningun problema, ni si quiera movi algo y me funcionaba.

A la proxima revisa bien, probablemente tenga que ver con un error en tu forma de llamar el get.

De igual forma podemos coordinar si quieres para confirmar que efectivamente esta bien.

Saludos!

dimaldonado commented 10 months ago

Tienes razón, por alguna razón ahora funciona bien, pero ahora, obtengo el mismo problema que obtenia haciendo el get, pero esta vez, al momento de hacer el delete de un alumno.

A continuación, te dejo una secuencia con imágenes del proceso, si ves el error que estoy cometiendo, házmelo saber.

  1. Creacion de usuario image

  2. Get del usuario image

  3. Delete del usuario

image

EmoMeza commented 10 months ago

Comiteado, deberia estar funcionando, ese error provenía del cambio de matricula de string a entero que no estaba actualizado en las funciones update/delete. Ahora esta funcionando

dimaldonado commented 10 months ago

Un error parecido sucede en al momento de usar add/asistencia, como se puede apreciar en la siguiente secuencia:

  1. Verificamos que la matricula tenga un usuario asignado. image

  2. Utilizamos la función add/asistencia utilizando la matricula anterior y el id de un evento. image

Cualquier cambio que se realice, hacerlo en la branch Main-v2-ahora-es-personal.

Gracias de antemano.

EmoMeza commented 10 months ago

Buenas @dimaldonado ,

Acabo de arreglar todos los errores presentados con las matriculas. Éstas ya no deberian de causar problemas.

Debido a que los cambios anteriores a estos fueron realizados en la branch main, para evitar conflictos con merge a la branch principal, te invito a realizar el merge para que en tu branch "Main-v2-ahora-es-personal" se encuentren los cambios realizados.

Saludos!

EmoMeza commented 10 months ago

Hola!,

como el problema del titulo del issue parece haberse resuelto con los cambios, procederé a cerrar el issue. Ante cualquier problema aparte de este tema que surga basta con crear otro issue.

Saludos!