From: Olivier Tétard
Date: Sun, 17 Mar 2013 20:35:39 +0000 (-0700)
Subject: Merge pull request #1 from teraud/master
X-Git-Url: http://olivier.miskin.fr/git/?a=commitdiff_plain;h=ca1954a1b7c043dfcbb0a9112373cf482446cfa7;hp=749f77571872a680268a762e54d63495fcad7b3d;p=spip_souscriptions.git
Merge pull request #1 from teraud/master
Notification utilisateurs
---
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/formulaires/configurer_souscription.html b/formulaires/configurer_souscription.html
index 7be3579..6967c87 100644
--- a/formulaires/configurer_souscription.html
+++ b/formulaires/configurer_souscription.html
@@ -9,8 +9,24 @@
#ACTION_FORMULAIRE{#ENV{action}}
+
<:souscription:titre_configuration_adhesions:>
+
+
+ [(#SAISIE{case, adhesion_activer, label=<:souscription:label_activer_adhesion:>})]
+ [(#SAISIE{selection, adhesion_type_saisie, label=<:souscription:label_type_saisie:>, datas=#ARRAY{input, Entrée libre, radio, Boutons radio, selection, Liste déroulante}})]
+ [(#SAISIE{textarea, adhesion_montants, rows=4, label=<:souscription:label_montants:>, explication=<:souscription:explication_montants:>})]
+
+
+
<:souscription:titre_configuration_dons:>
+
+
+ [(#SAISIE{case, don_activer, label=<:souscription:label_activer_don:>})]
+ [(#SAISIE{selection, don_type_saisie, label=<:souscription:label_type_saisie:>, datas=#ARRAY{input, Entrée libre, radio, Boutons radio, selection, Liste déroulante}})]
+ [(#SAISIE{textarea, don_montants, rows=4, label=<:souscription:label_montants:>, explication=<:souscription:explication_montants:>})]
+
+
-
\ No newline at end of file
+
diff --git a/formulaires/configurer_souscription.php b/formulaires/configurer_souscription.php
new file mode 100644
index 0000000..685070f
--- /dev/null
+++ b/formulaires/configurer_souscription.php
@@ -0,0 +1,85 @@
+ montants_array2str(lire_config("souscription/adhesion_montants")),
+ 'adhesion_type_saisie' => lire_config("souscription/adhesion_type_saisie"),
+ "adhesion_activer" => lire_config("souscription/adhesion_activer"),
+
+ 'don_montants' => montants_array2str(lire_config("souscription/don_montants")),
+ 'don_type_saisie' => lire_config("souscription/don_type_saisie"),
+ "don_activer" => lire_config("souscription/don_activer"),
+ );
+
+ return $valeurs;
+}
+
+function formulaires_configurer_souscription_verifier_dist() {
+ /* FIXME: vérifier le format de 'adhesion_montants' et 'don_montants' */
+
+ $erreurs = array();
+ $type_saisies = array("input", "radio", "selection");
+
+ if(_request("adhesion_activer")) {
+ if(!_request("adhesion_type_saisie")) {
+ $erreurs["adhesion_type_saisie"] = "Ce champs est obligatoire";
+ }
+
+ if(!in_array(_request("adhesion_type_saisie"), $type_saisies)) {
+ $erreurs["adhesion_type_saisie"] = "Le type de saisie pour le montant est invalide";
+ }
+ }
+
+ if(_request("don_activer")) {
+
+ if(!_request("don_type_saisie")) {
+ $erreurs["don_type_saisie"] = "Ce champs est obligatoire";
+ }
+
+ if(!in_array(_request("don_type_saisie"), $type_saisies)) {
+ $erreurs["don_type_saisie"] = "Le type de saisie pour le montant est invalide";
+ }
+ }
+
+ return $erreurs;
+}
+
+function formulaires_configurer_souscription_traiter_dist() {
+
+ ecrire_config("souscription/adhesion_montants", montants_str2array(_request("adhesion_montants")));
+ ecrire_config("souscription/adhesion_type_saisie", _request("adhesion_type_saisie"));
+ ecrire_config("souscription/adhesion_activer", _request("adhesion_activer"));
+
+ ecrire_config("souscription/don_montants", montants_str2array(_request("don_montants")));
+ ecrire_config("souscription/don_type_saisie", _request("don_type_saisie"));
+ ecrire_config("souscription/don_activer", _request("don_activer"));
+
+ $res = array('message_ok'=>_T('facteur:config_info_enregistree'));
+
+ return $res;
+}
+
+
+function montants_array2str($array) {
+ $montants = "";
+ foreach($array as $prix => $description) {
+ $montants .= $prix . "|" . $description . "\n";
+ }
+
+ return $montants;
+}
+
+function montants_str2array($str) {
+ $montants = array();
+
+ foreach(explode("\n", trim($str)) as $montant) {
+ list($prix, $description) = explode("|", $montant, 2);
+ $montants[trim($prix)] = trim($description);
+ }
+
+ return $montants;
+}
diff --git a/formulaires/editer_souscription_campagne.html b/formulaires/editer_souscription_campagne.html
index 4dc3a57..4b69ab7 100644
--- a/formulaires/editer_souscription_campagne.html
+++ b/formulaires/editer_souscription_campagne.html
@@ -12,7 +12,7 @@
[(#SAISIE{selection, type_objectif, obligatoire=oui,
label=<:souscription_campagne:label_type_objectif:>,
explication=<:souscription_campagne:explication_type_objectif:>,
- datas=#ARRAY{don, Dons, adhesion, Adhésions, abonnement, Abonnements}})]
+ datas=#ARRAY{don, Dons, adhesion, Adhésions}})]
[(#SAISIE{input, objectif, obligatoire=oui, label=<:souscription_campagne:label_objectif:>, explication=<:souscription_campagne:explication_objectif:>})]
[(#SAISIE{input, objectif_initial, obligatoire=oui, label=<:souscription_campagne:label_objectif_initial:>, explication=<:souscription_campagne:explication_objectif_initial:>})]
[(#SAISIE{textarea, texte, label=<:souscription_campagne:label_description:>, inserer_barre=edition, rows=10})]
diff --git a/formulaires/editer_souscription_campagne.php b/formulaires/editer_souscription_campagne.php
index 2ee36cf..8ee6116 100644
--- a/formulaires/editer_souscription_campagne.php
+++ b/formulaires/editer_souscription_campagne.php
@@ -56,7 +56,7 @@ function formulaires_editer_souscription_campagne_verifier_dist($id_souscription
));
$type = _request("type_objectif");
- if(!in_array($type, array('don', 'abonnement', 'adhesion')))
+ if(!in_array($type, array('don', 'adhesion')))
$ret['type_objectif'] = "Type d'objectif invalide";
$objectif_initial = _request('objectif_initial');
diff --git a/formulaires/souscription.html b/formulaires/souscription.html
index 5a57173..a8a3959 100644
--- a/formulaires/souscription.html
+++ b/formulaires/souscription.html
@@ -7,7 +7,11 @@
#ACTION_FORMULAIRE{#ENV{action}}
[(#SAISIE{input, courriel, obligatoire=oui, label=<:souscription:label_courriel:>})]
- [(#SAISIE{input, montant, obligatoire=oui, label=<:souscription:label_montant:>})]
+ [(#SAISIE{#CONFIG{souscription/#ENV{type_souscription}|concat{_type_saisie},input},
+ montant,
+ obligatoire=oui,
+ label=<:souscription:label_montant:>,
+ datas=#CONFIG{souscription/#ENV{type_souscription}|concat{_montants}}})]
[(#SAISIE{oui_non, recu_fiscal, label=<:souscription:label_recu_fiscal:>})]
[(#SAISIE{oui_non, envoyer_info, label=<:souscription:label_envoyer_info:> })]
[(#ENV{type_souscription}|=={adhesion}|oui) [(#SAISIE{oui_non, informer_comite_local, label=<:souscription:label_informer_comite_local:> })]]
diff --git a/formulaires/souscription.php b/formulaires/souscription.php
index f08d461..37d4235 100644
--- a/formulaires/souscription.php
+++ b/formulaires/souscription.php
@@ -138,7 +138,7 @@ function formulaires_souscription_verifier_dist($id_souscription_campagne)
"spip_souscription_campagnes",
"id_souscription_campagne=$id_souscription_campagne");
- if(!$type || !in_array($type, array("don", "adhesion", "abonnement")))
+ if(!$type || !in_array($type, array("don", "adhesion")))
$erreurs['message_erreur'] = "Type de souscription invalide";
/* Le champ 'type' (hidden) doit être le même que celui défini dans
diff --git a/inclure/presentation_type_abonnement.html b/inclure/presentation_type_abonnement.html
deleted file mode 100644
index 5fe598f..0000000
--- a/inclure/presentation_type_abonnement.html
+++ /dev/null
@@ -1 +0,0 @@
-Campagne d'abonnements
diff --git a/inclure/souscription_bloc_fiscal_abonnement.html b/inclure/souscription_bloc_fiscal_abonnement.html
deleted file mode 100644
index e69de29..0000000
diff --git a/lang/souscription_campagne_fr.php b/lang/souscription_campagne_fr.php
index 54df7fc..b23bf1c 100644
--- a/lang/souscription_campagne_fr.php
+++ b/lang/souscription_campagne_fr.php
@@ -12,7 +12,7 @@ $GLOBALS[$GLOBALS['idx_lang']] =
// E
'explication_objectif' => "Permet d'indiquer un objectif monétaire pour la campagne. Mettre 0 si la campagne n'a pas d'objectif.",
- 'explication_objectif_initial' => "Permet d'indiquer le niveau initial de la campagne. Ce champs peut être utilisé pour indiquer des dons, adhésions ou abonnements n'ayant pas été compatibilisées par le module de souscriptions.",
+ 'explication_objectif_initial' => "Permet d'indiquer le niveau initial de la campagne. Ce champs peut être utilisé pour indiquer des dons ou adhésions n'ayant pas été compatibilisées par le module de souscriptions.",
'explication_type_objectif' => "Type de l'objectif (influe le montant de l'objectif)",
// I
diff --git a/lang/souscription_fr.php b/lang/souscription_fr.php
index f45ed4c..549a73d 100644
--- a/lang/souscription_fr.php
+++ b/lang/souscription_fr.php
@@ -17,26 +17,28 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'titre_souscriptions' => 'Souscriptions',
// T
- 'titre_page_configurer_souscription' => 'Configuration des modules de souscription',
+ 'titre_configurer_souscriptions' => 'Souscriptions',
+ 'titre_page_configurer_souscriptions' => 'Configuration des souscriptions',
'titre_page_souscriptions_tous' => 'Liste des souscriptions',
'titre_types_souscriptions' => 'Types de souscriptions',
// A
- 'ajouter_lien_souscription' => 'Ajouter ce don',
+ 'ajouter_lien_souscription' => 'Ajouter cette souscription',
// C
- 'confirmer' => 'Faire un don',
+ 'confirmer' => 'Faire une souscription',
// E
'explication_envoyer_info' => 'Souhaite recevoir des informations publiques',
+ 'explication_montants' => "Le montants divent être au format suivant: [montant]|[description]
à raison d'une entrée par ligne.",
// I
- 'icone_creer_souscription' => 'Créer un don',
- 'icone_modifier_souscription' => 'Modifier ce don',
- 'info_1_souscription' => 'Un don',
- 'info_aucun_souscription' => 'Aucun don',
- 'info_nb_souscriptions' => '@nb@ dons',
- 'info_souscriptions_auteur' => 'Les dons de cet auteur',
+ 'icone_creer_souscription' => 'Créer une souscription',
+ 'icone_modifier_souscription' => 'Modifier cette souscription',
+ 'info_1_souscription' => 'Une souscription',
+ 'info_aucun_souscription' => 'Aucune souscription',
+ 'info_nb_souscriptions' => '@nb@ souscriptions',
+ 'info_souscriptions_auteur' => 'Les souscriptions de cet auteur',
// L
'label_adresse' => 'Adresse',
@@ -51,23 +53,22 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_ville' => 'Ville',
'label_campagne' => 'Campagne',
'label_titre_campagne' => 'Titre de la campagne',
- 'label_exporter_payes' => 'Exporter les dons payés',
- 'label_exporter_tous' => 'Exporter tous les dons',
+ 'label_exporter_payes' => 'Exporter les souscriptions payés',
+ 'label_exporter_tous' => 'Exporter toutes les souscriptions',
'label_informer_comite_local' => "Informer le comité local le plus proche",
-
- // R
- 'retirer_lien_souscription' => 'Retirer ce don',
- 'retirer_tous_liens_souscriptions' => 'Retirer tous les dons',
+ 'label_type_souscription' => "Type de souscription",
+ 'label_activer_adhesion' => "Activer le module d'adhésions",
+ 'label_activer_don' => "Activer le module dons",
+ 'label_type_saisie' => "Types de saisies",
+ 'label_montants' => "Montants",
// T
- 'texte_ajouter_souscription' => 'Ajouter un don',
- 'texte_changer_statut_souscription' => 'Ce don est :',
- 'texte_creer_associer_souscription' => 'Créer et associer un don',
- 'titre_langue_souscription' => 'Langue de ce don',
- 'titre_logo_souscription' => 'Logo de ce don',
+ 'texte_ajouter_souscription' => 'Ajouter une souscription',
+ 'texte_changer_statut_souscription' => 'Cette souscription est :',
'titre_souscription' => 'Souscription',
'titre_souscriptions' => 'Souscriptions',
- 'titre_souscriptions_rubrique' => 'Dons de la rubrique',
+ 'titre_configuration_adhesions' => 'Adhésions',
+ 'titre_configuration_dons' => 'Dons',
// V
'voir_exporter' => "Exporter les dons",
diff --git a/modeles/avancement-campagne.html b/modeles/avancement-campagne.html
index 4b74491..525ff7e 100644
--- a/modeles/avancement-campagne.html
+++ b/modeles/avancement-campagne.html
@@ -1,7 +1,7 @@
0}>
[(#TYPE_OBJECTIF|=={don}|oui) #SET{montant,#SOMME{montant}|plus{#OBJECTIF_INITIAL}}]
- [(#TYPE_OBJECTIF|=={adhesion}|oui) #SET{montant,#TOTAL_BOUCLE}]
+ [(#TYPE_OBJECTIF|=={adhesion}|oui) #SET{montant,#TOTAL_BOUCLE|plus{#OBJECTIF_INITIAL}}]
[(#SET{pourcentage_objectif,#GET{montant}|div{#OBJECTIF}|mult{100}|round{2}})]
@@ -9,7 +9,6 @@
Avancement de la campagne :
[(#TYPE_OBJECTIF|=={don}|oui) #GET{montant} ⬠sur #OBJECTIF ⬠!]
[(#TYPE_OBJECTIF|=={adhesion}|oui) #GET{montant} adhésions sur #OBJECTIF !]
- [(#TYPE_OBJECTIF|=={abonnement}|oui) #GET{montant}Â abonnements sur #OBJECTIF !]
diff --git a/paquet.xml b/paquet.xml
index 1017db4..c213119 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -26,5 +26,5 @@
-
+
diff --git a/prive/objets/contenu/souscription.html b/prive/objets/contenu/souscription.html
index 832525e..f8f8f72 100644
--- a/prive/objets/contenu/souscription.html
+++ b/prive/objets/contenu/souscription.html
@@ -1,5 +1,10 @@
+[
+ <:souscription:label_type_souscription:> :
+ (#TYPE_SOUSCRIPTION)
+
]
+
[
<:souscription:label_courriel:> :
(#COURRIEL)
diff --git a/prive/objets/liste/souscriptions.html b/prive/objets/liste/souscriptions.html
index edb2f84..ca4cb69 100644
--- a/prive/objets/liste/souscriptions.html
+++ b/prive/objets/liste/souscriptions.html
@@ -12,22 +12,22 @@
[(#TRI{courriel,<:souscription:label_courriel:>,ajax})]
+ [(#TRI{type_souscription,<:souscription:label_type_souscription:>,ajax})]
[(#TRI{montant,<:souscription:label_montant:>,ajax})]
- [(#TRI{prenom,<:souscription:label_prenom:>,ajax})]
[(#TRI{nom,<:souscription:label_nom:>,ajax})]
[(#TRI{date_souscription,<:date:>,ajax})]
- [(#TRI{souscription_statut,<:statut:>,ajax})]
+ [(#TRI{statut,<:statut:>,ajax})]
[(#TRI{id_souscription_campagne,<:souscription:label_campagne:>,ajax})]
[(#TRI{id_souscription,<:info_numero_abbreviation:>,ajax})]
-
+
[(#RANG). ]#COURRIEL
+ [(#TYPE_SOUSCRIPTION)]
[(#MONTANT) â¬]
- [(#PRENOM)]
- [(#NOM)]
+ #NOM #PRENOM
[(#DATE_SOUSCRIPTION|affdate_jourcourt)]
[(#STATUT)]
[(#ID_SOUSCRIPTION_CAMPAGNE)]
@@ -44,3 +44,14 @@
[
(#ENV*{sinon,''})
]/B_liste_souscriptions>
+
+[(#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/contenu/configurer_souscription.html b/prive/squelettes/contenu/configurer_souscriptions.html
similarity index 58%
rename from prive/squelettes/contenu/configurer_souscription.html
rename to prive/squelettes/contenu/configurer_souscriptions.html
index 603beff..7d32748 100644
--- a/prive/squelettes/contenu/configurer_souscription.html
+++ b/prive/squelettes/contenu/configurer_souscriptions.html
@@ -1,7 +1,7 @@
-[(#AUTORISER{configurer,_souscription}|sinon_interdire_acces)]
+[(#AUTORISER{configurer,_souscriptions}|sinon_interdire_acces)]
-<:souscription:titre_page_configurer_souscription:>
+<:souscription:titre_page_configurer_souscriptions:>
#FORMULAIRE_CONFIGURER_SOUSCRIPTION
-
\ No newline at end of file
+
diff --git a/prive/squelettes/contenu/souscriptions.html b/prive/squelettes/contenu/souscriptions.html
index 67ae3f3..3b21870 100644
--- a/prive/squelettes/contenu/souscriptions.html
+++ b/prive/squelettes/contenu/souscriptions.html
@@ -1,4 +1,11 @@
#FORMULAIRE_RECHERCHE_ECRIRE{#SELF,ajax}
+
+
+ [(#SELF|parametre_url{type_souscription,'XXX'}|replace{XXX,''}|lien_ou_expose{Toutes,[(#ENV{type_souscription}|non)],ajax})]
+ [(#SELF|parametre_url{type_souscription,'don'}|lien_ou_expose{Dons,#ENV{type_souscription}|=={don},ajax})]
+ [(#SELF|parametre_url{type_souscription,'adhesion'}|lien_ou_expose{Adhésions,#ENV{type_souscription}|=={adhesion},ajax})]
+
+
}>
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