En las operaciones Fechas de Examenes y Horarios de Cursadas en el perfil Anonimo en 3w de la version 2.9.3, hay alguna manera de filtrar para no mostrar las carreras cuyo estado esta seteado a No admiten inscripcion? O sea, solo las carreras activas.
Saludos. Ricardo.
Hola Ricardo! cómo andás?!
Te cuento lo que deberías personalizar…
Ambas operaciones están completando el combo de carreras con los datos de la query:
Php: src/siu/modelo/datos/db/plan_estudios.php
Método: carreras()
Allí se está teniendo en cuenta que el estado de la carrera sea distinto a ‘B’ y el estado del plan sea distinto a ‘N’.
El primer paso que deberías hacer es… en ese mismo php, replicar la función carreras() a una similar que usarás para completar los combos de las operaciones del perfil anónimo. Por ejemplo, llamándolo: ‘carreras_activas’, allí sólo vas a modificar la query agregando el where pertinente. El resto quedará igual.
Por ejemplo, debería quedar algo así:
/**
* parametros: _ua
* cache: memoria
* filas: n
*/
function carreras_activas($parametros)
{
$sql = "SELECT DISTINCT sga_carreras.carrera, sga_carreras.nombre
FROM sga_carreras
JOIN sga_planes ON (sga_carreras.unidad_academica = sga_planes.unidad_academica AND sga_carreras.carrera = sga_planes.carrera)
WHERE sga_carreras.unidad_academica = {$parametros['_ua']}
AND sga_carreras.estado= 'A'
AND sga_planes.estado <> 'N'
ORDER BY sga_carreras.nombre
";
$datos = kernel::db()->consultar($sql, db::FETCH_ASSOC);
$nuevo = array();
foreach ($datos as $clave => $dato){
$nuevo[$clave] = $dato;
$nuevo[$clave]['CARRERA_NOMBRE'] = "({$dato['CARRERA']}) {$dato['NOMBRE']}";
$nuevo[$clave]['_ID_'] = catalogo::generar_id($dato['CARRERA']);
}
return $nuevo;
}
Recordar: generar catálogo porque estamos incorporando una nueva función en el mismo.
Consola posicionada en bin:
./guarani generar_catalogo bloque_acceso
Luego, deberás modificar la fuente de datos que llena los combos de las operaciones.
Esto es muy similar para ambas:
PHP Fecha de examen: src/siu/operaciones/fecha_examen/filtro/builder_form_filtro.php
PHP Horarios de cursada: src/siu/operaciones/horarios_cursadas/filtro/builder_form_filtro.php
Método (para ambos el mismo): get_carreras()
Modificar la consulta a plan_estudios/carreras por la llamada a la nueva función: plan_estudios/carreras_activas.
Espero que haya quedado claro, cualquier duda nos avisás!
Saludos!
Anduvo como piña!!!
Muchas gracias.
Saludos. Ricardo.