Method | URI | Action |
---|---|---|
GET |
/final-deliveries |
index |
GET |
/final-deliveries/{id} |
show |
POST |
/final-deliveries |
store |
PATCH |
/final-deliveries/{id} |
update |
DELETE |
/final-deliveries/{id} |
delete |
GET |
/teachers/{id}/final-deliveries |
index |
GET |
/students/{id}/final-deliveries |
index |
{
"id": 1,
"date": null, // Fecha de la entrega
"summary": null, // Resumen textual de la entrega final
"teacher_as_jury": false, // Profesor es jurado, si al momento de crear se asigna el profesor de la materia_seccion como jurado
"closed": false, // Determina si esta entrega final esta cerrada o no
"course_section_id": 1, // ID de materia_seccion
"classroom_id": 1, // ID de aula
"specialization_id": 1, // ID de especialidad, se toma de materia_seccion
"period_id": 1, // ID de periodo, se toma de materia_seccion
"updated_at": "2020-05-12 23:32:13",
"created_at": "2020-05-12 23:32:13"
}
Una entrega final cerrada es aquella donde todos los jurados an evaluado a todos los estudiantes. En este estado no se puede actualizar, agregar/quitar jurados ni agregar/quitras horas.
BelongsToMany juries
HasMany juriesAndNotes
BelongsToMany students
BelongsToMany classHours
{info} Cuando el usuario autenticado es
coordinador
se obtendran solo las entregas de la especialidad que el coordine
GET /final-deliveries
admin
coordinador
Filter | Description |
---|---|
date=Y-m-d |
Obtiene las de una fecha especifica |
teacher_as_jury=bool |
Obtiene las que tengan o no profesor como jurado |
closed=bool |
Obtiene las que esten o no cerradas |
classroom=id |
Obtiene las que esten un aula |
specialization=id |
Obtiene las que esten en una especialidad |
period=id |
Obtiene las que esten en un periodo |
course=id |
Obtiene las que esten en una materia |
section=id |
Obtiene las que esten en una seccion |
200
[
{
// FinalDelivery
}
]
profesor
POST /final-deliveries
admin
{
"summary": "nullable|string",
"teacher_as_jury": "boolean",
"course_section_id": "required|integer|exists",
"classroom_id": "required|integer|exists",
"juries.*.teacher_id": "required|integer" // Lista de teacher IDs que seran jurados en la entrega
}
201
Cada vez que se cambie de fecha o aula se validara que no choque con otras entregas finales en los siguientes casos
Caso A
Misma fecha, misma aula, misma horas de clase. (de haber encontrado uno se lanzara un error)
Caso B
Misma fecha, mismas hora de clase, mismo jurados. (de haber encontrado uno se lanzara un error)
Para los casos A y B implicitamente se incluye el periodo
multi entrega
se permitira que 2 o más secciones de la misma materia se presenten en
en mismo dia/horas/aulas con los mismo juradosPATCH /final-deliveries/{id}
admin
{
"date": "date_format:Y-m-d", // Cambiar de fecha
"summary": "string",
"classroom_id": "integer|exists" // Cambiar de aula
}
200
DELETE /final-deliveries/{id}
admin
204
No ContentObtiene entregas finales siempre y cuando el profesor haya sido o es jurado de una.
GET /teachers/{id}/final-deliveries
admin
coordinador
que supervise a ese profesorprofesor
relacionado a ese profesor200
[
{
// FinalDelivery
}
]
GET /students/{id}/final-deliveries
admin
coordinador
student
relacionado a ese estudiante200
[
{
// FinalDelivery + pivot con NOTA FINAL
}
]