Hola buenas tardes, estaba realizando una personalización en el 3W que tiene que ver con que no me liste en “Inscripción a Materias” las correlativas, es decir, que solo me muestre las materias en las que en ese momento SI cumplimenta correlativas…
Estaba buscando la manera de correr el control de correlativas al momento de listarlas y lo conseguí en parte, porque me tarda mucho en controlarlo… Lo que yo hice en el pagelet: operaciones_comun\pagelets\pagelet_lista_materias.php fue agregar lo siguiente
function prepare()
{
$this->add_var_js(‘busca_actividad’, kernel::traductor()->trans(‘busca_actividad’));
$this->data = $this->modelo()->info__lista_materias();
// para abajo
$mensajes = "";
foreach($this->data as $materia){
try {
$mensajes .= $this->modelo()->control__seleccion_materia($materia['__ID__']);
} catch (error_guarani $e) {
$men = $e->get_mensajes_usuario();
foreach($men as $ee){
$existe = strpos($ee['mcuerpo'], "correlativas de cursada");
if ($existe !== false){
unset($this->data[$materia['id']]);
}
}
}
}
// para arriba
$operacion = kernel::ruteador()->get_id_operacion();
if ($this->controlador->hay_var('materia')) {
$materia = $this->controlador->get_var('materia');
} else {
$materia = '';
}
foreach ($this->data as $key => $dato) {
$this->data[$key]['SELECCIONADA'] = $materia == $dato[catalogo::id];
$this->data[$key]['URL_MATERIA'] =
kernel::vinculador()->crear($operacion, 'elegir_materia', $dato[catalogo::id]);
}
}
Y desde guarani le agregue al Requisito Correlativas de Cursada el punto de control alumno - actividad
Funciona pero demora… Además seguramente me va a entrar en conflictos con la pestaña Inscripción a Exámenes porque me parece que utiliza esta misma función…
Muchas gracias!!