Mdl 2.7.1 - pb autoinscription d'un apprenant dans un métacours

Mdl 2.7.1 - pb autoinscription d'un apprenant dans un métacours

par Sylvain PELISSIER,
Nombre de réponses : 3

Bonjour,

Lorsqu'un apprenant s'auto-inscrit via le formulaire moodle, il n'est pas automatiquement réaffecté au métacours. Alors que c'était le cas dans l'ancienne version moodle 1.8.

L'apprenant est pourtant bien inscrit dans la base avec les données du meta cours sur lequel il devrait être rattaché toutefois il n'ai pas enrôlé  dans le méta cours donc il n'a pas accès aux modules qui y sont rattachés.

Est-ce que vous auriez une idée d'un nouveau paramètre que j'aurai omis ou d'un plugin qui devrait être installé sur la version moodle 2.7 ?

Merci d'avance

Sylvain

Moyenne des évaluations  -
En réponse à Sylvain PELISSIER

НА: Mdl 2.7.1 - pb autoinscription d'un apprenant dans un métacours

par Alexandre Scherbyna,

Bonsoir,
Bien que le mécanisme d’utilisation de méta-cours a évolué depuis l’époque de 1.8, il fonctionne parfaitement dans 2.7. Pouvez-vous nous donner plus de détails comment vous procédez et ce que ne marche pas ?

En réponse à Alexandre Scherbyna

Re: НА: Mdl 2.7.1 - pb autoinscription d'un apprenant dans un métacours

par Sylvain PELISSIER,

Bonjour,

 

Merci pour votre retour. Le détail est le suivant :

 

  1. Inscription via le formulaire moodle. Ce formulaire est une duplication du formulaire d'inscription moodle sign up adapté à nos besoins
  2. Inscription ok : l'apprenant est bien enregistré dans la base moodle mais il n'est pas inscrit au méta-cours
  3. Pour cette auto-inscription au méta-cours on utilise la fonction ajouter un utilisateur role_assign

·A savoir le métacours est connu via l'url du formulaire.

·En effet nous utilisons une url esthétique et en comparant le nom de cette url à celui du métacours (le champ « shortname » de la table mdl_course) , on est en mesure de connaître l'id du métacours (le champ « id » de cette même table) dans lequel l'apprenant doit être inscrit

·Une fois l'id récupéré, cela nous permet de connaître le contextid du métacours (via un context_course ::instance($idmetacours)), on applique la fonction role_assign (role_assign($roleid, $user->id, $contextid, '', 0, '')). $roleid==5 car on cherche à enregistrer des étudiants, $contextid correspond donc au contextid du cours que l'on vient de récupérer. L'utilisateur est alors enregistré dans le métacours correspondant de la table mdl_role_assignments.

·Il semblerait que l'utilisateur soit bien enregistré dans cette table « mdl_role_assignments » (cf captures d'écran ci-joint - capture OK si cela fonctionnait, capture KO ce que l'on a aujourd'hui)

 

A savoir que cette inscription fonctionne parfaitement sur moodle 1.8.

 Merci d'avance si vous aviez une idée d'un paramètre que nous aurions omis de régler avec la version moodle 2.7.1

 Sylvain

En réponse à Sylvain PELISSIER

НА: Re: НА: Mdl 2.7.1 - pb autoinscription d'un apprenant dans un métacours

par Alexandre Scherbyna,

Bonjour,
C’est n’est pas étonnant que votre formulaire créé pour 1.8 ne fonctionne pas sous 2.7.

Je vous propose d’essayer la procédure standard d’inscription qui utilise les méta cours. Si elle ne vous convient pas, alors il faut étudier ce que se passe dans les tableaux de Moodle 2.7 et développer le  nouveau formulaire pour cette version.