Integración Moodle + Guarani 3

Hola,
les escribo por un tema. Recién estabamos viendo el tema de la sincronización de Guarani a Moodle y vemos que cuando Moodle crea los usuarios en Guarani les pone auth manual según el código que está acá: ./php/nucleo/moodle/moodle_nucleo.php

Lo que sucede es que cuando se le pone auth manual, los usuarios en Moodle terminan creados con el campo auth en mdl_user y con una preferencia de forcechange password en mdl_userpreference.

Cuando el alumno intenta entrar desde Guarani a Moodle le pide cambiar la password. Para evitar eso, si cambiamos el auth de manual a userkey en Moodle, el pedido de cambio de password no es solicitado.

¿Cuál es la idea del SIU? El alumno podría entrar desde Guarani y en forma directa? Estaría bueno poder setear eso de alguna forma por si queremos forzarlo a que entre solo desde Guarani con el módulo de user_authkey

Saludos a todos!
Alejandro Sabolansky

Hola Alejandro,

Esto ya va a salir corregido en la versión 3.21.0 (ticket: https://redmine.siu.edu.ar/redmine/issues/42813).

Por ahora podes personalizar la función crearUsuarios de php/nucleo/moodle/moodle_nucleo.php (lo haces en la clase hueca personalizacion/php/nucleo/moodle/moodle.php) agregando la siguiente preferencia de Moodle:


			$usuario['preferences'] = [
				['type' => 'auth_forcepasswordchange', 'value' => '0']
			];

quedaría:


		array_walk($usuarios, function (&$usuario) {
			$usuario['createpassword'] = 1;
			$usuario['auth'] = static::AUTH_MANUAL;
			$usuario['lang'] = static::LANG_ES;
			$usuario['timezone'] = static::TIMEZONE_BSAS;
			$usuario['country'] = static::COUNTRY_AR;
			$usuario['preferences'] = [
				['type' => 'auth_forcepasswordchange', 'value' => '0']
			];
		});

Seria como tener el checkbox Forzar cambio de contraseña en Moodle desmarcado.

saludos.
2

Gracias Leonel!

Saludos
Alejandro