STD
This commit is contained in:
@@ -36,8 +36,8 @@ try {
|
||||
horario_fecha_fin,
|
||||
horario_grupo,
|
||||
horario_hora,
|
||||
periodo_fecha_inicio,
|
||||
periodo_fecha_fin,
|
||||
PERIODO.periodo_fecha_inicio,
|
||||
PERIODO.periodo_fecha_fin,
|
||||
salon,
|
||||
materia_nombre as materia,
|
||||
carrera_nombre as carrera,
|
||||
@@ -49,10 +49,9 @@ try {
|
||||
JOIN carrera USING (carrera_id)
|
||||
JOIN nivel USING (nivel_id)
|
||||
JOIN facultad ON facultad.facultad_id = carrera.facultad_id
|
||||
JOIN PERIODO_CARRERA USING (carrera_id)
|
||||
JOIN PERIODO USING (periodo_id)
|
||||
JOIN SALON USING (salon_id)
|
||||
WHERE (periodo_id, facultad.facultad_id) = (:periodo_id, COALESCE(:facultad_id, facultad.facultad_id))
|
||||
WHERE (PERIODO.periodo_id, facultad.facultad_id) = (:periodo_id, COALESCE(:facultad_id, facultad.facultad_id))
|
||||
),
|
||||
fechas AS (
|
||||
SELECT fechas_clase(h.horario_id, true) as registro_fecha_ideal, h.horario_id
|
||||
|
||||
@@ -30,6 +30,7 @@ try {
|
||||
SELECT facultad_nombre, facultad_id, clave_dependencia
|
||||
FROM facultad
|
||||
WHERE facultad_id = :facultad_id OR :facultad_id IS NULL
|
||||
ORDER BY facultad_nombre ASC
|
||||
SQL
|
||||
,
|
||||
[':facultad_id' => $user->facultad['facultad_id']]
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
require_once "{$_SERVER['DOCUMENT_ROOT']}/class/c_login.php";
|
||||
header('Content-Type: application/json');
|
||||
|
||||
@@ -15,13 +14,44 @@ try {
|
||||
case 'GET':
|
||||
// Fetch all puestos
|
||||
$facultad_id = $user->facultad['facultad_id'];
|
||||
$periodo_nivel_id = $db->where('periodo_id', $user->periodo_id)->getOne('periodo', 'nivel_id')['nivel_id'];
|
||||
$carreras = $db->query(<<<SQL
|
||||
SELECT carrera_id, carrera_nombre, clave_carrera, facultad_id
|
||||
SELECT carrera_id, carrera_nombre, clave_carrera,
|
||||
facultad_id, facultad_nombre,
|
||||
nivel_id, nivel_nombre
|
||||
FROM carrera
|
||||
WHERE facultad_id = :facultad_id OR :facultad_id IS NULL
|
||||
SQL, ['facultad_id' => $facultad_id]);
|
||||
join nivel using (nivel_id)
|
||||
join facultad using (facultad_id)
|
||||
WHERE facultad_id = :facultad_id OR :facultad_id IS NULL AND
|
||||
nivel.nivel_id = :periodo_nivel_id
|
||||
ORDER BY facultad_nombre, carrera_nombre
|
||||
SQL, [
|
||||
'facultad_id' => $facultad_id,
|
||||
'periodo_nivel_id' => $periodo_nivel_id
|
||||
]);
|
||||
echo json_encode($carreras);
|
||||
break;
|
||||
|
||||
case 'PUT':
|
||||
// Update carrera {nivel_id}
|
||||
$raw = file_get_contents('php://input');
|
||||
$data = json_decode($raw, true);
|
||||
|
||||
if (!isset($data['carrera_id'], $data['nivel_id'])) {
|
||||
header('HTTP/1.1 400 Bad Request');
|
||||
echo json_encode(['error' => 'Falta el id de la carrera o el nivel']);
|
||||
exit();
|
||||
}
|
||||
|
||||
$carrera_id = $data['carrera_id'];
|
||||
$nivel_id = $data['nivel_id'];
|
||||
$db->where('carrera_id', $carrera_id)->update('carrera', ['nivel_id' => $nivel_id]);
|
||||
|
||||
$carrera_nombre = $db->where('carrera_id', $carrera_id)->getOne('carrera', 'carrera_nombre')['carrera_nombre'];
|
||||
$nivel_nombre = $db->where('nivel_id', $nivel_id)->getOne('nivel', 'nivel_nombre')['nivel_nombre'];
|
||||
|
||||
echo json_encode(['success' => "$carrera_nombre actualizada a $nivel_nombre"]);
|
||||
break;
|
||||
default:
|
||||
header('HTTP/1.1 405 Method Not Allowed');
|
||||
echo json_encode(['error' => 'Método no permitido']);
|
||||
|
||||
31
action/nivel.php
Normal file
31
action/nivel.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
require_once "{$_SERVER['DOCUMENT_ROOT']}/class/c_login.php";
|
||||
header('Content-Type: application/json');
|
||||
|
||||
if (!Login::is_logged()) {
|
||||
header('HTTP/1.1 401 Unauthorized');
|
||||
echo json_encode(['error' => 'No se ha iniciado sesión']);
|
||||
exit();
|
||||
}
|
||||
$user = Login::get_user();
|
||||
|
||||
try {
|
||||
switch ($_SERVER['REQUEST_METHOD']) {
|
||||
case 'GET':
|
||||
// Fetch all puestos
|
||||
$nivel = $db->get('nivel');
|
||||
echo json_encode($nivel);
|
||||
break;
|
||||
default:
|
||||
header('HTTP/1.1 405 Method Not Allowed');
|
||||
echo json_encode(['error' => 'Método no permitido']);
|
||||
break;
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
echo json_encode([
|
||||
'error' => $e->getMessage(),
|
||||
'query' => $db->getLastQuery(),
|
||||
'exception' => $e->getTraceAsString()
|
||||
]);
|
||||
}
|
||||
Reference in New Issue
Block a user