From 62dfc06362143c4fd95b86b4d511c3ade7346f4e Mon Sep 17 00:00:00 2001 From: Lunar Date: Wed, 2 Oct 2019 11:08:11 +0200 Subject: [PATCH] =?utf8?q?Pas=20d'envoi=20de=20rappels=20si=20la=20cotisat?= =?utf8?q?ion=20a=20d=C3=A9j=C3=A0=20=C3=A9t=C3=A9=20pay=C3=A9e=20dans=20l?= =?utf8?q?'ann=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- features/send-membership-reminders.feature | 10 ++++++++++ lib/nos_oignons.rb | 1 + lib/nos_oignons/member.rb | 1 + 3 files changed, 12 insertions(+) diff --git a/features/send-membership-reminders.feature b/features/send-membership-reminders.feature index 47cabf5..89dfbd4 100644 --- a/features/send-membership-reminders.feature +++ b/features/send-membership-reminders.feature @@ -46,6 +46,16 @@ Fonctionnalité: prévenir les membres qu'il faut renouveler leur cotisation Lorsque j'exécute send-membership-reminders le 2014-04-12 Alors aucun email ne doit avoir été envoyé + Scénario: Pas de message si la cotisation a été renouvellée bien avant la date anniversaire + Soit une base avec jvoisin qui a adhéré le 2017-10-23 et payé sa dernière cotisation le 2019-06-19 + Lorsque j'exécute send-membership-reminders le 2019-09-23 + Alors aucun email ne doit avoir été envoyé + + Scénario: Appel un mois avant si la cotisation a été payée bien avant la date anniversaire + Soit une base avec jvoisin qui a adhéré le 2017-10-23 et payé sa dernière cotisation le 2019-06-19 + Lorsque j'exécute send-membership-reminders le 2020-09-23 + Alors 1 email doit avoir été envoyé + Scénario: Script pas exécuté tous les jours Soit une base avec Jane qui doit renouveler sa cotisation d'ici 9 jours Et qui a déjà reçu un appel 21 jours plus tôt diff --git a/lib/nos_oignons.rb b/lib/nos_oignons.rb index b85ebea..72cea22 100644 --- a/lib/nos_oignons.rb +++ b/lib/nos_oignons.rb @@ -71,6 +71,7 @@ module NosOignons def send_membership_reminders! today = Time.now.to_date NosOignons::Member.all.select(&:up_to_date?).each do |member| + next if member.membership_fee_paid_on.year == today.year reminders = NosOignons::Reminder.all.sort_by(&:days) anniversary = Time.new(today.year, member.joined_on.month, member.joined_on.day).to_date diff --git a/lib/nos_oignons/member.rb b/lib/nos_oignons/member.rb index de079a3..0feb825 100644 --- a/lib/nos_oignons/member.rb +++ b/lib/nos_oignons/member.rb @@ -16,6 +16,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +require 'date' require 'safe_yaml' SafeYAML::OPTIONS[:default_mode] = :safe -- 2.39.5