Hola!
Estamos haciendo pruebas para vincular Guaraní con Moodle.
Estamos en la versión 3.21.3 de Guaraní, y 4.0.12 de Moodle.
Al intentar exportar los usuarios de guarani según el comando de la documentación: bin/guarani exportar_usuarios_moodle -m 1, nos genera archivos con muy pocos usuarios.
Al revisar el log, vemos que la consulta tiene un error en la selección de Alumnos.
Donde dice:
JOIN int_pv_plataformas_ra pra on pra.responsable_academica = pa.propuesta
debería ser:
JOIN int_pv_plataformas_ra pra on pra.responsable_academica = pa.responsable_academica
SELECT
DISTINCT LOWER(vp.usuario) as username,
vp.nombres_elegido as firstname,
vp.apellido_elegido as lastname,
COALESCE((
SELECT mdp_personas_contactos.email
FROM mdp_personas_contactos
WHERE mdp_personas_contactos.persona = vp.persona
AND contacto_tipo IN ('MP', 'MS', 'MI')
ORDER BY CASE mdp_personas_contactos.contacto_tipo
WHEN 'MP' THEN 1
WHEN 'MS' THEN 2
WHEN 'MI' THEN 3
ELSE 4
END LIMIT 1)) AS email,
'manual' as auth, 'es' as lang, 'America/Argentina/Buenos_Aires' as timezone, 'AR' as country
FROM vw_personas as vp
JOIN mdp_personas_grupo_acc as ga on ga.persona = vp.persona
JOIN vw_alumnos as a on a.persona= vp.persona
JOIN mdp_personas_contactos as con on con.persona = vp.persona
JOIN sga_propuestas_ra pa on pa.propuesta = a.propuesta
JOIN int_pv_plataformas_ra pra on pra.responsable_academica = pa.propuesta
WHERE
ga.tipo_usuario IN('Alumno')
AND vp.persona NOT IN (SELECT persona FROM int_pv_usuarios WHERE plataforma = 1 )
AND vp.usuario IS NOT NULL AND con.email IS NOT NULL
AND a.calidad = 'A'
AND pra.plataforma = 1
UNION
SELECT
DISTINCT LOWER(vp.usuario) as username,
vp.nombres_elegido as firstname,
vp.apellido_elegido as lastname,
COALESCE((
SELECT mdp_personas_contactos.email
FROM mdp_personas_contactos
WHERE mdp_personas_contactos.persona = vp.persona
AND contacto_tipo IN ('MP', 'MS', 'MI')
ORDER BY CASE mdp_personas_contactos.contacto_tipo
WHEN 'MP' THEN 1
WHEN 'MS' THEN 2
WHEN 'MI' THEN 3
ELSE 4
END LIMIT 1)) AS email,
'manual' as auth, 'es' as lang, 'America/Argentina/Buenos_Aires' as timezone, 'AR' as country
FROM vw_personas as vp
JOIN mdp_personas_grupo_acc as ga on ga.persona = vp.persona
JOIN mdp_personas_contactos as con on con.persona= vp.persona
JOIN sga_docentes as d on d.persona= vp.persona
JOIN sga_docentes_ra as dra on dra.docente= d.docente
JOIN int_pv_plataformas_ra pra on pra.responsable_academica= dra.responsable_academica
WHERE
ga.tipo_usuario IN('Docente')
AND vp.persona NOT IN (SELECT persona FROM int_pv_usuarios WHERE plataforma = 1 )
AND vp.usuario IS NOT NULL AND con.email IS NOT NULL
AND d.estado ='A'
AND pra.plataforma =1
ORDER BY firstname,lastname
Saludos,
Natalia