diff --git a/garradin_plugin.ini b/garradin_plugin.ini
index 3193717..8e00b99 100644
--- a/garradin_plugin.ini
+++ b/garradin_plugin.ini
@@ -2,7 +2,7 @@ nom="Reçus fiscaux"
description="Génération de reçus fiscaux pour les dons des membres"
auteur="jce"
url="https://git.roflcopter.fr/lesanges/recus-fiscaux-garradin"
-version="0.6"
+version="0.6.2"
menu=1
config=1
min_version="1.1"
diff --git a/lib/Utils.php b/lib/Utils.php
index f6bed5b..22e74d0 100644
--- a/lib/Utils.php
+++ b/lib/Utils.php
@@ -257,6 +257,53 @@ class Utils
return $anneesFiscales;
}
+ /**
+ * récupérer dans la config du plugin les champs des membres
+ * utilisés pour le nom et le prénom ; ajouter/supprimer les
+ * modifications par rapport à la config garradin
+ * @return tableau des champs : clé = nom, valeur = { titre, position }
+ */
+ public static function getChampsNom($config, $plugin) : array
+ {
+ // récupérer dans la config du plugin les champs mémorisés
+ // pour le nom et le prénom (le tableau est vide si pas mémorisé)
+ $champsNom = (array) $plugin->getConfig('champsNom');
+
+ // récupérer dans la config Garradin les champs des membres
+ // utilisés pour le nom et le préno
+ $champsGarradin = $config->get('champs_membres')->listAssocNames();
+
+ foreach ($champsGarradin as $name => $title)
+ {
+ if (stristr($title, 'nom'))
+ {
+ // retenir les champs dont le titre contient le term 'nom'
+ // est-il présent dans la config du plugin ?
+ if (! array_key_exists($name, $champsNom))
+ {
+ // absent => l'ajouter
+ $champ = new \stdClass();
+ $champ->titre = $title;
+ $champ->position = 0;
+ $champsNom[$name] = $champ;
+ }
+ }
+ }
+ // opération symétrique : un champ mémorisé dans la config du
+ // plugin a-t-il disparu de la config garradin ?
+ foreach ($champsNom as $nom => $champ)
+ {
+ if (! array_key_exists($nom, $champsGarradin))
+ {
+ // absent => le supprimer
+ unset($champsNom[$nom]);
+ }
+ }
+ // mettre à jour la config du plugin
+ $plugin->setConfig('champsNom', $champsNom);
+ return $champsNom;
+ }
+
/**
* enregistrer les fichiers dans une archive zip
* @param $fileList : liste des fichiers à archiver
diff --git a/templates/config.tpl b/templates/config.tpl
index f106aeb..f7433f1 100644
--- a/templates/config.tpl
+++ b/templates/config.tpl
@@ -85,13 +85,13 @@
{* les champs de nom *}
-
+
Sélectionnez et classez le(s) champ(s) qui représente(nt) le nom et le prénom du donateur