Erreur dans le modal de modification d'un rapport qui fait disparaitre le bouton d'import
- Role : enseignant
- Page : /teacher/reports
Quand un rapport est créé à partir d'une mise en équipe qui autorise l'import de LD depuis toutes les missions (team_config.allow_import = 1 & team_config.allow_import_id_mission = NULL
), le rapport est créé avec la configuration suivante : report.allow_import = 1 & report.allow_import_id_mission = 0
. Le 0 n'est pas cohérent avec le NULL.
Du coup, si on modifie les options du rapport (page /teacher/reports), le champ d'import de LD est initialisé à "Aucune" et quand l'enseignant valide, ça écrase l'autorisation d'import de LD sans qu'il ne s'en aperçoive.
Le problème est lié au champ de la BD report.allow_import_id_mission
qui est initialisé à 0 et pas à NULL.
-
à la création d'un rapport, recopier les champs de la mise en équipe dans le rapport et NE PAS transformer le allow_import_id_mission
de NULL à 0. -
pour patcher tous les rapports qui ont report.allow_import_id_mission = 0
dans la base, 2 possibilités : - faire une migration pour passer le 0 en NUll (le plus propre mais le plus lourd)
UPDATE report SET allow_import_id_mission = NULL WHERE allow_import_id_mission = 0;
- dans
public\js\teacher\reports.js
, ligne 1516, mettre :
if(report['allow_import'] && (report['allow_import_id_mission'] === null || report['allow_import_id_mission'] === 0)){ // the 0 is a patch a legacy error
@beniamid : j'ai passé pas mal de temps à décrire l'erreur pour que ça aille vite et qu'on ne laisse pas trainer trop longtemps ce genre d'erreur. J'ai aussi proposé un patch : soit en code, soit en migration.