hola, estamos usando la versión 3.17 y un usuario nos reportó que un docente no podia ver sus comisiones asociadas en autogestión. Revisando estuvimos viendo que la personas esta cargada como docente con dos responsables academicas distintas (es decir hay dos tuplas en sga_docentes con el mismo id de persona y con legajo de docente distinto). El problema que ocurre es que al buscar el listado de comisiones se fija el id de docente y por lo que vimos lo toma de siu/modelo/datos/db/personas.php
function datos_basicos($parametros)
{
// Toma el primer perfil del usuario, si tiene uno seleccionado por el usuario o sino el orden por defecto de los tipos de usuarios
$formato_fecha_visual = kernel::db()->quote(\comunes::formato_fecha_visual);
$sql = "SELECT p.persona,
td.tipo_documento,
td.descripcion as tipo_documento_desc,
td.desc_abreviada as tipo_documento_desc_abreviada,
doc.nro_documento,
p.apellido,
p.nombres,
COALESCE (p.nombres_elegido, p.nombres) AS nombre_mostrar,
COALESCE (p.apellido_elegido, p.apellido) AS apellido_mostrar,
upper(substring(p.apellido,1,1)) as inicial_apellido,
p.fecha_nacimiento,
to_char(p.fecha_nacimiento, $formato_fecha_visual) AS fecha_nacimiento_visual,
p.id_imagen as id_imagen,
CASE
WHEN p.tipo_usuario_inicial IS NOT NULL AND p.tipo_usuario_inicial <> 'Gestion' THEN p.tipo_usuario_inicial
ELSE (SELECT t.tipo_usuario
FROM mdp_personas_tipo_usuario as t, acc_tipos_usuarios as tp
WHERE t.persona = p.persona
AND tp.tipo_usuario = t.tipo_usuario
AND tp.tipo_usuario <> 'Gestion'
ORDER BY tp.orden_acceso_default
LIMIT 1
)
END as perfil_inicial,
p.usuario as identificacion,
d.legajo as legajo_docente,
d.docente as docente,
CASE
WHEN p.tipo_usuario_inicial IS NULL THEN acc_tipos_usuarios.orden_acceso_default
ELSE
(CASE
WHEN p.tipo_usuario_inicial = mdp_personas_tipo_usuario.tipo_usuario THEN 0
ELSE acc_tipos_usuarios.orden_acceso_default
END)
END as orden -- Orden de acceso del tipo de usuario..
FROM mdp_personas as p
JOIN mdp_personas_tipo_usuario ON mdp_personas_tipo_usuario.persona = p.persona
JOIN acc_tipos_usuarios ON acc_tipos_usuarios.tipo_usuario = mdp_personas_tipo_usuario.tipo_usuario
JOIN mdp_personas_documentos as doc ON (doc.persona = p.persona AND doc.documento = p.documento_principal)
JOIN mdp_tipo_documento as td ON td.tipo_documento = doc.tipo_documento
LEFT JOIN sga_docentes as d ON d.persona = p.persona
WHERE p.persona = {$parametros['persona']}
AND mdp_personas_tipo_usuario.tipo_usuario <> 'Gestion'
ORDER BY orden
LIMIT 1
";
$datos = kernel::db()->consultar_fila($sql);
return $datos;
}
y esta función trae el primer docente sin importar la responsable académica asociada. Espero haber sido clara.
Gracias,
Naimid.