Problème
Dans l'onglet Admin → Documents, activer un modèle PDF via le switch enregistre une ligne llx_document_model dont la colonne description reçoit $module->scandir.
Or SaturneDocumentModel initialise scandir au dossier des templates ODT (MODULE_DOCUMENTTYPE_ADDON_ODT_PATH) pour tous les modèles, y compris les PDF (modules_saturne.php).
Et saturne_get_list_of_models() (documents.lib.php) interprète une description non vide comme le nom d'une constante pointant vers un dossier à scanner, puis ajoute une entrée par fichier trouvé dans ce dossier.
Conséquence
Quand on active un modèle PDF via le switch admin, le sélecteur de génération de document affiche le modèle une fois par fichier ODT présent dans le dossier des templates → le sélecteur se remplit de doublons.
(À l'inverse, l'enregistrement via init() du module stocke une description vide → une seule entrée. D'où l'incohérence selon le mode d'activation.)
Correctif
Dans le lien d'activation du tpl admin, ne pas passer scandir comme description pour les modèles PDF :
$modelScandir = ($module->type == 'pdf') ? '' : $module->scandir;
Un modèle PDF ne scanne pas de dossier de templates ; il ne doit donc jamais porter de scandir. Corrige tous les modèles PDF (control, calllist, …).
Problème
Dans l'onglet Admin → Documents, activer un modèle PDF via le switch enregistre une ligne
llx_document_modeldont la colonnedescriptionreçoit$module->scandir.Or
SaturneDocumentModelinitialisescandirau dossier des templates ODT (MODULE_DOCUMENTTYPE_ADDON_ODT_PATH) pour tous les modèles, y compris les PDF (modules_saturne.php).Et
saturne_get_list_of_models()(documents.lib.php) interprète unedescriptionnon vide comme le nom d'une constante pointant vers un dossier à scanner, puis ajoute une entrée par fichier trouvé dans ce dossier.Conséquence
Quand on active un modèle PDF via le switch admin, le sélecteur de génération de document affiche le modèle une fois par fichier ODT présent dans le dossier des templates → le sélecteur se remplit de doublons.
(À l'inverse, l'enregistrement via
init()du module stocke unedescriptionvide → une seule entrée. D'où l'incohérence selon le mode d'activation.)Correctif
Dans le lien d'activation du tpl admin, ne pas passer
scandircommedescriptionpour les modèles PDF :Un modèle PDF ne scanne pas de dossier de templates ; il ne doit donc jamais porter de
scandir. Corrige tous les modèles PDF (control, calllist, …).