Method | URI | Action |
---|---|---|
GET |
prelations |
index |
POST |
prelations |
bulk store |
DELETE |
prelations |
bulk delete |
GET |
courses/{id}/prelations |
index |
GET |
pensums/{id}/prelations |
index |
{
"id": 1,
"originating_course_id": 1, // Materia que origina la prelación
"originating_semester_number": 1, // Semestre al que pertenece la materia que origina en el pensum
"target_course_id": 2, // Materia afectada por la prelación, no puede ser el mismo que originating
"target_semester_number": 2, // Semestre al que pertenece la materia afectada en el pensum
"period_id": 1, // ID del periodo objetivo de esta prelacion
"specialization_id": 1, // ID de especialidad, se toma del semestre
"pensum_id": 1, // ID de pensum, se toma del semestre
"updated_at": "2020-05-12 18:31:36",
"created_at": "2020-05-12 18:31:36"
}
Cuando el usuario autenticado es un coordinador, se obtienen las prelaciones de la especialidad que el coordine. NOTA: si el coordinador no tiene definido una especialidad se retornara un error.
GET prelations
admin
coordinador
extends
QueryFiltersFilter | Description |
---|---|
originating_course=id |
Filtra por la materia que origina la prelación |
originating_semester_number=int |
Filtra por la materia que origina la prelación |
target_course=id |
Filtra por la materia objetivo de la prelación |
target_semester_number=int |
Filtra por la materia objetivo de la prelación |
period=id |
Filtra por periodo |
specialization=id |
Filtra por especialidad. Si el usuario es coordinador esto no tendra efecto |
pensum=id |
Filtra por pensum |
200
[
{
// Prelation
}
]
Para obtener de manera simple las materias para la prelacion utilice Obtener Materias Prelacionables
semester_id
del requestsemestre_id
del requestPOST prelations
admin
coordinador
que coordine la especialidad del semestre{
"period_id": "required|integer|exists", // Periodo objetivo
"semester_id": "required|integer|exists", // Semestre de la materia de la ruta
"target_courses_ids": "required|array", // Semestres que seran afectados por la materia de la ruta
"target_courses_ids.*": "integer"
}
204
No ContentMismas consideraciones que el attach
admin
coordinador
que coordine la especialidad de la prelacionDELETE prelations
{
"period_id": "required|integer|exists", // Periodo objetivo
"semester_id": "required|integer|exists", // Semestre de la materia de la ruta
"target_courses_ids": "required|array", // Semestres que seran removidos como afectados por la materia de la ruta
"target_courses_ids.*": "integer"
}
204
No ContentCuando el usuario autenticado es un coordinador, se obtienen las prelaciones de la especialidad que el coordine. NOTA: si el coordinador no tiene definido una especialidad se retornara un error.
GET /courses/{id}/prelations
admin
coordinador
extends
QueryFiltersAntes de aplicar los filtros se revisa si en el request esta presenta los atributos
as_origin
: Se obtendran las prelaciones donde la materia del request sea el origen (default)as_target
: Se obtendran las prelaciones donde la materia del request sea la afectadaFilter | Description |
---|---|
originating_course=id |
Por la materia que origina la prelación (as_origin tiene prioridad) |
originating_semester_number=int |
Por numero de semestre del origen (Combinar con pensum para que tenga sentido) |
target_course=id |
Filtra por la materia objetivo de la prelación (as_target tiene prioridad) |
target_semester_number=int |
Por numero de semestre del target (Combinar con pensum para que tenga sentido) |
period=id |
por periodo |
specialization=id |
por especialidad. Si el usuario es coordinador esto no tendra efecto |
pensum=id |
por pensum |
200
[
{
// Prelation
}
]
Cuando el usuario autenticado es un coordinador, se obtienen las prelaciones de la especialidad que el coordine. NOTA: si el coordinador no tiene definido una especialidad se retornara un error.
GET /pensums/{id}/prelations
admin
coordinador
200
// Prototipo, se puede cambiar a como se necesite
{
"semesters": {
"3": { // Numero de semestre
"Course - 1": [ // Codigo de materia que origina
"Course - 2", // Codigo de Materias objetivo
"Course - 3",
"Course - 4"
]
}
}
}