Plugin Enrolment upon approval : les données des champs de profil ne remontent pas sur le formulaire d'inscription du plugin

Plugin Enrolment upon approval : les données des champs de profil ne remontent pas sur le formulaire d'inscription du plugin

par Sabrina Da França,
Nombre de réponses : 1

Bonjour, 

Spécificité technique

Moodle 3.7.2

Enrolment upon approval plugin Version 3.7-a (2019120400)

Les faits

En tant qu'Admin

Les utilisateurs s'inscrivent eux-même sur la plateforme (auth : auto-enregistrement). J'ai rajouté des champs de profil (custom field) pour les obliger lors de cette inscription à remplir des champs (nécessaire pour les certifications). Certains ont une valeur par défaut, d'autres non.

J'ai installé le plugin d'inscription Enrolment upon approval. J'ai ajouté la méthode à un cours.

En tant qu'utilisateur lambda

J'ai crée un compte de test en auto-inscription, j'ai remplis les champs de profil, y compris les customs.

Je suis allé sur le cours. S'affiche alors la méthode d'inscription qui reprends les champs de profil généraux (1 sur l'image ci-dessous) ainsi que les champs de profil custom (2 et 3 sur l'image).

Sauf que les champs généraux sont bien rempli avec les données de l'utilisateur, tandis que les champs customs sont soit rempli avec leur valeur par défaut (2 sur l'image), soit vides (3 sur l'image).

En tant qu'apprenant de test, je rempli les champs vides (qui sont requis pour pouvoir faire la demande d'inscription), et j'appuie sur le bouton pour faire la demande.

Quand je vais dans le profil de cette apprenant, les données saisies lors de l'inscription au cours ne sont pas remonté dans le profil.


Problématique

Je ne comprends pas pourquoi les données utilisateurs entre le plugin et le profil concernant les champs de profil custom ne communique pas.

Pourtant les apprenants ne devraient pas avoir à remplir ses informations à chaque fois, alors qu'ils les ont déjà rempli lors de leur inscription.

Est-ce que quelqu'un a une idée du pourquoi et de comment je pourrais corriger ou contourner ce problème de communication avec le plugin ?


J'ai pensé à contourner le problème en :

  • mettant une valeur par défaut aux champs custom > ainsi ils seront remplis lors de l'inscription et ne bloqueront pas (pk requis) quand on clique sur le bouton de demande d'inscription
  • masquant en css les champs custom > ainsi il n'y a pas d'apprenant qui en voyant que les données ne sont pas bonnes les modifieront

Mais cette méthode a le démérite que lors de la création du compte (auto-enregistrement) quelqu'un pourrait se créer un compte sans avoir rempli ses propres données (en laissant les données par défaut) par accident.


Je cherche une méthode qui n'est pas ce démérite.

Moyenne des évaluations  -
En réponse à Sabrina Da França

Re: Plugin Enrolment upon approval : les données des champs de profil ne remontent pas sur le formulaire d'inscription du plugin

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonsoir,

Je vous propose d'essayer cette méthode :

  1. Supprimer les lignes suivantes (vers la ligne 77) dans le fichier enrol/apply/apply_form.php :

            if ($instance->customint2) {
               profile_definition($mform, $USER->id);
            }
  2. "Purger tous les caches"
Ainsi les champs de profil ne devraient plus apparaître dans le formulaire d'inscription au cours.

Pour le problème que les données des champs de profil ne remontent pas dans les cases correspondantes du formulaire, il faudrait poser la question à l'auteur du plugin.

Christian