DEUX saloperies de bugs qui cassaient les dates de fin d'abonnement avec paiements récurents : 1) une coquille pourrie de N en trop ! et 2) une mauvaise conception qui créait le lien avec la commande APRES avec initialiser les dates, donc lors de l'initialisation, aucune info de commande, donc aucune date de fin suivant la carte bleue ou SEPA !

svn/attic/branches/v3.0.12/98521
rastapopoulos@spip.org 8 years ago
parent 76dd195c50
commit e566d18748

@ -42,7 +42,8 @@ function abonnements_post_edition($flux){
// Si on modifie un abonnement
if ($flux['args']['table'] == 'spip_abonnements') {
include_spip('inc/abonnements');
$abonnement = sql_fetsel('*', 'spip_abonnements', 'id_abonnement = '.intval($flux['args']['id_objet']));
$id_abonnement = intval($flux['args']['id_objet']);
$abonnement = sql_fetsel('*', 'spip_abonnements', 'id_abonnement = '.$id_abonnement);
$offre = sql_fetsel('*', 'spip_abonnements_offres', 'id_abonnements_offre = '.intval($abonnement['id_abonnements_offre']));
$jourdhui = date('Y-m-d H:i:s');
@ -67,6 +68,19 @@ function abonnements_post_edition($flux){
}
}
// Si on a un id_commande dans l'environnement, on lie la commande à l'abonnement
if (
$id_commande = intval(_request('id_commande'))
and defined('_DIR_PLUGIN_COMMANDES')
) {
// On lie cet abonnement avec la commande qui l'a généré
include_spip('action/editer_liens');
objet_associer(
array('commande' => $id_commande),
array('abonnement' => $id_abonnement)
);
}
$modifs = array();
// Si l'échéance est VIDE, et que pourtant l'offre parente A BIEN une durée
@ -143,21 +157,8 @@ function abonnements_post_edition($flux){
// On crée ou renouvelle
include_spip('inc/abonnements');
set_request('id_commande', $id_commande); // on garde l'id_commande dans l'environnement
$retour = abonnements_creer_ou_renouveler($id_auteur, $id_abonnements_offre, $forcer_creation);
// Si on a un retour correct avec un abonnement
if (
is_array($retour)
and $id_abonnement = intval(reset($retour))
and $id_abonnement > 0
) {
// On lie cet abonnement avec la commande qui l'a généré
include_spip('action/editer_liens');
objet_associer(
array('commande' => $id_commande),
array('abonnement' => $id_abonnement)
);
}
}
}
}

@ -122,7 +122,7 @@ function abonnements_initialisation_dates($abonnement, $offre){
$modifs['date_fin'] = $modifs['date_echeance'];
// Mais si c'est un renouvellement auto avec Commandes et Bank
if ($date_fin = abonnements_bank_date_fin($abonnement['id_abonnnement'])) {
if ($date_fin = abonnements_bank_date_fin($abonnement['id_abonnement'])) {
$modifs['date_fin'] = $date_fin;
}

@ -1,7 +1,7 @@
<paquet
prefix="abonnements"
categorie="auteur"
version="3.0.11"
version="3.0.12"
schema="2.2.1"
etat="test"
compatibilite="[3.0.0;3.1.*]"

Loading…
Cancel
Save