From 2ecf706208f0681aabe23cefc9568362ce1685b6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20T=C3=A9tard?= Date: Fri, 15 Mar 2013 14:16:22 +0100 Subject: [PATCH] =?utf8?q?Am=C3=A9lioration=20de=20l'export=20des=20souscr?= =?utf8?q?iptions.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Il est désormais possible de filter les éléments à exporter (dons ou adhésions ou tous). Amélioration du code de l'export. --- action/exporter_souscriptions.php | 48 ++++++++++++++++------- prive/objets/liste/souscriptions.html | 11 ++++++ prive/squelettes/extra/souscriptions.html | 6 --- 3 files changed, 45 insertions(+), 20 deletions(-) delete mode 100644 prive/squelettes/extra/souscriptions.html diff --git a/action/exporter_souscriptions.php b/action/exporter_souscriptions.php index a1228f6..e68eac7 100644 --- a/action/exporter_souscriptions.php +++ b/action/exporter_souscriptions.php @@ -2,6 +2,13 @@ if (!defined("_ECRIRE_INC_VERSION")) return; function action_exporter_souscriptions_dist($arg=null) { + /* + * $arg contient les différents arguments, séparés par des '/'. Une + * fois passés dans la fonctions split, il se présente de la manière + * suivante : + * argument en position 1 : 'paye' ou 'tous' + * argument en position 2 : type de souscription (dons, adhesion) + */ /* FIXME: permettre de selectionner les exports */ /* FIXME: améliorer la jointure... */ @@ -18,20 +25,30 @@ function action_exporter_souscriptions_dist($arg=null) { exit; } - if($arg == "payes") { - $row = sql_select("id_souscription, courriel," - ."montant, reglee, spip_transactions.statut, date_paiement, mode, autorisation_id," - ."nom, prenom, code_postal, ville, recu_fiscal, envoyer_info, date_souscription," - ."id_souscription_campagne, titre", - "spip_souscriptions LEFT JOIN spip_transactions USING(id_transaction) LEFT JOIN spip_souscription_campagnes USING(id_souscription_campagne) ", - "reglee='oui'"); + $arg = explode("/", $arg); + + $type_statut = $arg[0]; + $type_souscription = $arg[1]; + + /* Préparation de la requête */ + $select = "id_souscription, courriel, type_souscription," + ."montant, reglee, spip_transactions.statut, date_paiement, mode, autorisation_id," + ."nom, prenom, code_postal, ville, recu_fiscal, envoyer_info, date_souscription," + ."spip_souscription_campagnes.id_souscription_campagne, titre"; + $from = "spip_souscriptions LEFT JOIN spip_transactions USING(id_transaction) LEFT JOIN spip_souscription_campagnes USING(id_souscription_campagne)"; + + $where = array(); + if($type_souscription) + $where[] = "type_souscription='$type_souscription'"; + else + $type_souscription = "tous"; + + + if($type_statut == "payes") { + $where[] = "reglee='oui'"; } - elseif($arg == "tous") { - $row = sql_select("id_souscription, courriel," - ."montant, reglee, spip_transactions.statut, date_paiement, mode, autorisation_id," - ."nom, prenom, code_postal, ville, recu_fiscal, envoyer_info, date_souscription," - ."id_souscription_campagne, titre", - "spip_souscriptions LEFT JOIN spip_transactions USING(id_transaction) LEFT JOIN spip_souscription_campagnes USING(id_souscription_campagne)"); + elseif($type_statut == "tous") { + /* Afficher toutes les transactions du type demandé */ } else { include_spip('inc/minipres'); @@ -39,9 +56,12 @@ function action_exporter_souscriptions_dist($arg=null) { exit; } + $row = sql_select($select, $from, $where); + $entete = array("ID du don", "Courriel", "Montant", + "Type de souscription", "Reglée", "Statut", "Date de paiement", @@ -60,6 +80,6 @@ function action_exporter_souscriptions_dist($arg=null) { /* Utilisation de la fonction exporter_csv de Bonux */ $exporter_csv = charger_fonction('exporter_csv', 'inc/', true); - $exporter_csv("souscriptions_${arg}", $row, ',', $entete); + $exporter_csv("souscriptions_${type_souscription}_${type_statut}", $row, ',', $entete); exit(); } diff --git a/prive/objets/liste/souscriptions.html b/prive/objets/liste/souscriptions.html index 7f72867..ca4cb69 100644 --- a/prive/objets/liste/souscriptions.html +++ b/prive/objets/liste/souscriptions.html @@ -44,3 +44,14 @@ [
(#ENV*{sinon,''})
] + +[(#BOITE_OUVRIR{<:souscription:voir_exporter:>,'simple','section'})] +[(#SET{arguments_export, ''})] + +[(#SET{arguments_export,#GET{arguments_export}|concat{/#ENV{type_souscription}|?{#ENV{type_souscription}}, /}})] + + +#BOITE_FERMER diff --git a/prive/squelettes/extra/souscriptions.html b/prive/squelettes/extra/souscriptions.html deleted file mode 100644 index 956f08a..0000000 --- a/prive/squelettes/extra/souscriptions.html +++ /dev/null @@ -1,6 +0,0 @@ -[(#BOITE_OUVRIR{<:souscription:voir_exporter:>,'simple','section'})] - -#BOITE_FERMER -- 2.30.2