Browse Source

Le type d’objectif est décorrélé du type de souscription.

pull/2/head
Matthieu Marcillaud 1 year ago
parent
commit
a992b57280
  1. 4
      formulaires/editer_souscription_campagne.php
  2. 11
      formulaires/souscription.php
  3. 1
      inclure/souscription/presentation_type_nombre_don.html
  4. 7
      notifications/informer_souscription_interrompue.html
  5. 7
      notifications/informer_souscription_terminee.html
  6. 7
      notifications/inviter_recommencer_souscription.html
  7. 7
      notifications/relancer_fin_souscription.html
  8. 6
      prive/objets/liste/souscription_campagnes.html
  9. 11
      prive/squelettes/contenu/souscription_campagne.html
  10. 32
      souscription_fonctions.php

4
formulaires/editer_souscription_campagne.php

@ -96,7 +96,7 @@ function formulaires_editer_souscription_campagne_verifier_dist(
$type = _request('type_objectif');
if (!in_array($type, ['don', 'nombre_don', 'adhesion'])) {
$erreurs['type_objectif'] = _T('souscription_campagne:erreur_objectif_invalide');
} elseif ($type == 'don' and lire_config('souscription/don_activer', 'off') !== 'on') {
} elseif (in_array($type, ['don', 'nombre_don']) and lire_config('souscription/don_activer', 'off') !== 'on') {
$erreurs['type_objectif'] = _T('souscription_campagne:erreur_objectif_don_inactif');
} elseif ($type == 'adhesion' and lire_config('souscription/adhesion_activer', 'off') !== 'on') {
$erreurs['type_objectif'] = _T('souscription_campagne:erreur_objectif_adhesion_inactif');
@ -130,7 +130,7 @@ function formulaires_editer_souscription_campagne_verifier_dist(
}
}
/* Si une guration spécifique est demandée, alors on vérifie les
/* Si une configuration spécifique est demandée, alors on vérifie les
* valeurs 'type_saisie' et 'montants' (si on a demandé un bouton
* radio ou une selection). Autrement, les données sont supprimées
* dans la fonction traiter. */

11
formulaires/souscription.php

@ -40,7 +40,8 @@ function formulaires_souscription_charger_dist($id_souscription_campagne) {
/* Récupération des information à propos de la campagne */
$campagne = sql_fetsel('*', 'spip_souscription_campagnes', 'id_souscription_campagne=' . intval($id_souscription_campagne));
$type = $campagne['type_objectif'];
include_spip('souscription_fonctions');
$type = souscription_objectifs_campagne_vers_type($campagne['type_objectif']);
$recu_fiscal = 'off';
if ($type == 'adhesion') {
@ -227,8 +228,9 @@ function formulaires_souscription_trouver_montant($campagne, &$erreurs) {
$erreurs[$abo . 'montant'] = _T('souscription:erreur_montant_invalide');
} else {
if ($campagne['configuration_specifique'] !== 'on') {
$montant_type = lire_config('souscription/' . $campagne['type_objectif'] . "{$abo}_type_saisie", 'input');
$montant_datas = lire_config('souscription/' . $campagne['type_objectif'] . "{$abo}_montants", '');
$type = souscription_objectifs_campagne_vers_type($campagne['type_objectif']);
$montant_type = lire_config("souscription/{$type}{$abo}_type_saisie", 'input');
$montant_datas = lire_config("souscription/{$$type}{$abo}_montants", '');
} else {
$montant_type = $campagne[$abo . 'type_saisie'];
$montant_datas = $campagne[$abo . 'montants'];
@ -271,7 +273,8 @@ function formulaires_souscription_traiter_dist($id_souscription_campagne) {
$campagne = sql_fetsel('*', 'spip_souscription_campagnes', 'id_souscription_campagne=' . intval($id_souscription_campagne));
set_request('id_souscription_campagne', $id_souscription_campagne);
set_request('type_souscription', $campagne['type_objectif']);
include_spip('souscription_fonctions');
set_request('type_souscription', souscription_objectifs_campagne_vers_type($campagne['type_objectif']));
if (!in_array(_request('envoyer_info'), ['on', 'off'])) {
set_request('envoyer_info', 'off');
}

1
inclure/souscription/presentation_type_nombre_don.html

@ -0,0 +1 @@
<p><strong><:souscription:sous_titre_type_dons:></strong></p>

7
notifications/informer_souscription_interrompue.html

@ -12,8 +12,11 @@ Mail HTML simplifie mis en forme complete par le filtre |facteur_email_wrap_to_h
<body>
<div class="header">
<p>[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>,<:souscription:sous_titre_type_adhesions:>})]<br />
[&laquo;&nbsp;<strong>(#TITRE)</strong>&nbsp;&raquo;]
<p>
[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={nombre_don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={adhesion}|?{<:souscription:sous_titre_type_adhesions:>})]
<br />[&laquo;&nbsp;<strong>(#TITRE)</strong>&nbsp;&raquo;]
</p>
<hr/>

7
notifications/informer_souscription_terminee.html

@ -12,8 +12,11 @@ Mail HTML simplifie mis en forme complete par le filtre |facteur_email_wrap_to_h
<body>
<div class="header">
<p>[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>,<:souscription:sous_titre_type_adhesions:>})]<br />
[&laquo;&nbsp;<strong>(#TITRE)</strong>&nbsp;&raquo;]
<p>
[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={nombre_don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={adhesion}|?{<:souscription:sous_titre_type_adhesions:>})]
<br />[&laquo;&nbsp;<strong>(#TITRE)</strong>&nbsp;&raquo;]
</p>
<hr/>

7
notifications/inviter_recommencer_souscription.html

@ -12,8 +12,11 @@ Mail HTML simplifie mis en forme complete par le filtre |facteur_email_wrap_to_h
<body>
<div class="header">
<p>[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>,<:souscription:sous_titre_type_adhesions:>})]<br />
[&laquo;&nbsp;<strong>(#TITRE)</strong>&nbsp;&raquo;]
<p>
[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={nombre_don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={adhesion}|?{<:souscription:sous_titre_type_adhesions:>})]
<br />[&laquo;&nbsp;<strong>(#TITRE)</strong>&nbsp;&raquo;]
</p>
<hr/>

7
notifications/relancer_fin_souscription.html

@ -12,8 +12,11 @@ Mail HTML simplifie mis en forme complete par le filtre |facteur_email_wrap_to_h
<body>
<div class="header">
<p>[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>,<:souscription:sous_titre_type_adhesions:>})]<br />
[&laquo;&nbsp;<strong>(#TITRE)</strong>&nbsp;&raquo;]
<p>
[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={nombre_don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={adhesion}|?{<:souscription:sous_titre_type_adhesions:>})]
<br />[&laquo;&nbsp;<strong>(#TITRE)</strong>&nbsp;&raquo;]
</p>
<hr/>

6
prive/objets/liste/souscription_campagnes.html

@ -24,7 +24,11 @@
})]</td>
<td class="objectif">[(#OBJECTIF|intval|oui)[(#OBJECTIF|campagne_afficher_objectif{#TYPE_OBJECTIF})]]</td>
<td class="avancement">[(#AVANCEMENT_CAMPAGNE|campagne_afficher_objectif{#TYPE_OBJECTIF})][(#OBJECTIF|intval|oui)[ ((#AVANCEMENT_CAMPAGNE|mult{100}|div{#OBJECTIF}|round{1})%)]]</td>
<td class="type">[(#TYPE_OBJECTIF|=={don}|?{<:souscription_campagne:label_type_objectif_dons:>,<:souscription_campagne:label_type_objectif_adhesions:>})]</td>
<td class="type">
[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={nombre_don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={adhesion}|?{<:souscription:sous_titre_type_adhesions:>})]
</td>
</tr>
</BOUCLE_liste_souscription_campagnes>
</tbody>

11
prive/squelettes/contenu/souscription_campagne.html

@ -11,7 +11,16 @@
]
<h1>(#TITRE)[(#VAL{souscription_campagne}|objet_icone|inserer_attribut{class,cadre-icone})]</h1>
<strong>[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>,<:souscription:sous_titre_type_adhesions:>})]</strong>
<strong>
[(#TYPE_OBJECTIF|=={don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={nombre_don}|?{<:souscription:sous_titre_type_dons:>})]
[(#TYPE_OBJECTIF|=={adhesion}|?{<:souscription:sous_titre_type_adhesions:>})]
</strong>
<span>
[(#TYPE_OBJECTIF|=={don}|?{<:souscription_campagne:info_type_objectif_dons:>})]
[(#TYPE_OBJECTIF|=={nombre_don}|?{<:souscription_campagne:info_type_objectif_nombre_dons:>})]
[(#TYPE_OBJECTIF|=={adhesion}|?{<:souscription_campagne:info_type_objectif_adhesions:>})]
</span>
],simple fiche_objet})]

32
souscription_fonctions.php

@ -14,6 +14,38 @@ if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Description des objectifs de campagne
* @return array
*/
function souscription_objectifs_campagne() {
return [
'don' => [
'type_souscription' => 'don',
],
'nombre_don' => [
'type_souscription' => 'don',
],
'adhesion' => [
'type_souscription' => 'adhesion'
],
];
}
/**
* Retourne le type de souscription correspondant à un objectif
* @return string
*/
function souscription_objectifs_campagne_vers_type($objectif) {
$objectifs = souscription_objectifs_campagne();
if (!isset($objectifs[$objectif])) {
throw new \RuntimeException('Objectif inconnu.');
}
return $objectifs[$objectif]['type_souscription'];
}
function souscription_liste_transactions($id_souscription) {
$ids = sql_allfetsel('id_objet', 'spip_souscriptions_liens', 'id_souscription=' . sql_quote($id_souscription) . ' AND objet=' . sql_quote('transaction'));

Loading…
Cancel
Save