Commit Graph

8 Commits (4f23413b933004395fc01e96af200dc25902f613)

Author SHA1 Message Date
rastapopoulos@spip.org 98d3201a33 inclusion manquante pour chercher les liens 9 years ago
rastapopoulos@spip.org 687e9f2644 On utilise la nouvelle date d'échéance.
1) Lorsqu'on initialise les dates, c'est ça qu'on teste. Par défaut la date de fin est la date d'échéance. Mais s'il y a Commandes et Bank, on regarde si l'abonnement a été activé par une transaction :
- si c'est SEPA, on annule la date de fin, par défaut ça sera infini
- si c'est carte bleue, on met comme date de fin celle de la carte bleue puisqu'on l'a
1bis) Au passage on déplace les tâches d'initialisation dans une fonction à part pour y voir plus clair.

2) Quand un abonnement est modifié et qu'on check les dates, on active entre date_debut et date_echeance maintenant.

3) Mais on désactive toujours seulement après date_fin, pas date_echeance. Ce qui permet de laisser une marge si jamais l'échéance est passée mais sans désactiver. Car ça se trouve c'est justement un paiement un peu en retard.

4) Quand on renouvelle un abonnement, on renouvelle à partir de la date d'échéance, et non plus de la date de fin. Et on repousse la date de fin si elle se retrouve avant la nouvelle échéance décalée.

5) Une nouvelle tâche génie est programmée toutes les heures pour vérifier les échéances. Si on a trop dépassé (48h par défaut qui sera configurable) alors on change la date de fin pour maintenant, ce qui va désactiver l'abonnement.

Ce n'est PAS FINI. Il manque :
- rendre configurable les deux délais qui sont en lire_config()
- afficher la nouvelle date d'échéance dans l'admin et la rendre éditable dans le form d'édition d'un abonnement
- possiblement changer la désactivation par Jobs en utilisant un génie (perf issue d'après cerdic)
- sûrement plein de bugs à corriger, j'espère pas trop…
9 years ago
rastapopoulos@spip.org 603ebb6d1d Dans creer_ou_renouveler, on ne renouvelle plus que si l'abonnement de même offre *n'est pas trop vieux*. Par défaut on dit 48h mais ça pourra se configurer dans un formulaire un jour. Dès que ça dépasse ces 48h : ça crée un nouvel abonnement différent, avec la même offre. Du coup si une personne se réabonne mais seulement 2 mois plus tard, c'est bien un nouvel abonnement. 9 years ago
rastapopoulos@spip.org 14095d7d85 Lorsqu'une Commande génère ou renouvèle un Abonnement, on fait une liaison entre les deux avec la nouvelle liaison des Commandes. Du coup si on veut utiliser Abonnements avec Commandes, ce n'est pas obligatoire mais par contre on oblige à une version >= 1.5. 9 years ago
rastapopoulos@spip.org 8a7534bf10 Lors de l'initialisation d'un abonnement, quand la date de fin n'est pas encore définie, on continue de le calculer par défaut avec la période de l'offre MAIS on ajoute un pipeline dédié à l'initialisation qui permet de changer les dates (y compris de début pourquoi pas) à ce moment. Cela permet par exemple de toujours terminer avec l'année civile ou de faire pile le début et la fin d'un mois, etc. 9 years ago
rastapopoulos@spip.org ad9fefd033 Deux ajouts notoires :
- Quand on modife les dates d'un abonnement, ça vérifie si aujourd'hui on est dedans ou dehors, et ça active ou désactive l'abonnement automatiquement. Il est toujours possible de changer le statut manuellement pour mettre inactif même si on est dans les bonnes dates, ou inversement.
- Surtout, le plugin est désormais copain avec Commandes : quand un utilisateur commande des offres d'abonnements, alors dès qu'il a enfin payé, ça le détecte et ça crée un nouvel abonnement OU ça renouvelle un existant si on en avait déjà un avec cette offre. Au passage, on ajoute donc une action pratique "creer_ou renouveler_abonnement" qui sait bien faire les choses en lui donnant un auteur et une offre.
- Pour que tout marche, on déplace "inactif" en statut par défaut (premier), pour que ça le change ensuite, et que "abonnements à des zones" détecte bien une activation lors de la toute première création.
9 years ago
rastapopoulos@spip.org ead8894f5b Quand on supprime un abonnement (poubelle), on doit enlever les tâches liées, sinon ça peut risque de mettre l'abonnement en inactif automatiquement, au lieu de rester dans la poubelle. 9 years ago
rastapopoulos@spip.org b6cc82c746 Accrobranche : en fait on déplace le plugin Abonnements nouvelle génération dans un dossier du même nom que son préfixe, qui n'est plus le même que l'ancienne version. Tout ça n'est en effet pas compatible même si c'est inspiré et à la suite de ce qui existait avant. Le préfixe et le dossier du nouveau suive un nommage plus habituel, avec le nom au pluriel, et les fonctionnalités ne sont pas du tout implémentée pareille, pas la même architecture, etc. 9 years ago