From: Lunar Date: Mon, 24 Mar 2014 15:38:39 +0000 (+0100) Subject: Nouvelle tentative de correction des rappels d'adhésion X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/commitdiff_plain/0b86faada8b828ca94b735ec4bf88b7e024f16a3 Nouvelle tentative de correction des rappels d'adhésion Damned. --- diff --git a/features/send-membership-reminders.feature b/features/send-membership-reminders.feature index 09bdce7..73c9dfe 100644 --- a/features/send-membership-reminders.feature +++ b/features/send-membership-reminders.feature @@ -35,6 +35,18 @@ Fonctionnalité: prévenir les membres qu'il faut renouveller leur cotisation Lorsque j'exécute send-membership-reminders Alors aucun email ne doit avoir été envoyé + Scénario: Pas de messages entre le premier et le deuxième rappel + Soit une base avec Jane qui doit renouveller sa cotisation d'ici 28 jours + Et qui a déjà reçu un appel 2 jours plus tôt + Lorsque j'exécute send-membership-reminders + Alors aucun email ne doit avoir été envoyé + + Scénario: Script pas exécuté tous les jours + Soit une base avec Jane qui doit renouveller sa cotisation d'ici 9 jours + Et qui a déjà reçu un appel 21 jours plus tôt + Lorsque j'exécute send-membership-reminders + Alors 1 email doit avoir été envoyé + Scénario: Un seul envoi par membre Soit une base avec Jane qui doit renouveller sa cotisation d'ici 30 jours Lorsque j'exécute send-membership-reminders diff --git a/lib/nos_oignons.rb b/lib/nos_oignons.rb index 758c675..4ccd04f 100644 --- a/lib/nos_oignons.rb +++ b/lib/nos_oignons.rb @@ -57,11 +57,10 @@ module NosOignons anniversary = Time.new(today.year, member.joined_on.month, member.joined_on.day).to_date next if member.membership_fee_paid_on >= anniversary - next if member.reminded_on && member.reminded_on >= today - reminders = NosOignons::Reminder.all.sort_by(&:days).reverse - next if anniversary > today + reminders.first.days + reminders = NosOignons::Reminder.all.sort_by(&:days) reminders.each do |reminder| - next if anniversary < today + reminder.days + next if (anniversary - today).to_i > reminder.days + next if member.reminded_on && (anniversary - member.reminded_on).to_i <= reminder.days member.remind(reminder) break