Listado de carreras en 3w

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.