From: Lunar Date: Wed, 2 Oct 2019 09:08:11 +0000 (+0200) Subject: Pas d'envoi de rappels si la cotisation a déjà été payée dans l'année X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/commitdiff_plain/62dfc06362143c4fd95b86b4d511c3ade7346f4e?hp=3492c365cb7f85aed18d9575ea0369a927210c4e Pas d'envoi de rappels si la cotisation a déjà été payée dans l'année --- 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