Bug fonction cohort_add_member ?

Bug fonction cohort_add_member ?

par Pascal Maury,
Nombre de réponses : 2
Avatar Développeurs de plugins

Bonjour,

Nous appellons dans un de nos plugins, la fonction cohort_add_member. Comme son nom l'indique, elle ajoute un membre à une cohorte. Or, il apparait que la fonction ne vérifie pas l'existence d'une entrée avant de l'insérer. Et nous avons donc obtenu l'erreur "Duplicate entry". Dois-je remonter cela comme un bug ?

Pascal

Moyenne des évaluations  -
En réponse à Pascal Maury

Re: Bug fonction cohort_add_member ?

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

A moins que tu ne puisses vérifier auparavant que l'information existe déjà...

Sinon, cela ne "coûte pas bien cher" d'ouvrir un bogue ; au pire il sera fermé comme n'étant pas réellement un bogue clin d’œil

En réponse à Séverin Terrier

Re: Bug fonction cohort_add_member ?

par Patrick Pollet,

Oui c'est à toi de tester que l'utilisateur n'est pas déja inscrit. C'est la même chose avec les groupes, groupements ... 

J'ai dans les lib.php de certains de mes plugins la methode suivante

class MonPlugin extends xxxxx {
.....
function cohort_is_member($cohortid, $userid) {
global $DB;
$params = array (
'cohortid' => $cohortid,
'userid' => $userid
);
return $DB->record_exists('cohort_members', $params);
}
....
}

et j'utilise alors 
$plugin = new MonPlugin();
...
if (!$plugin->cohort_is_member($cohortid, $userid)) {
cohort_add_member($cohortid, $userid);
}

Si un jour la fonction cohort_is_member était ajoutée au code Moodle (cohort/lib.php) ca ne me génera pas car la mienne est une méthode de classe, pas une simple fonction clin d’œil 

A+

 

Moyenne des évaluations Utile (1)