From 0119de78f115fdacca0edafe98512cf80547b869 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Tue, 10 Feb 2026 23:17:51 +0100 Subject: [PATCH 1/8] Intial commit --- app/jobs/credit_insufficient_notification_job.rb | 8 +++----- app/mailers/user_credit_mailer.rb | 5 ++--- spec/jobs/credit_insufficient_notification_job_spec.rb | 8 +------- spec/mailers/previews/user_credit_mailer_preview.rb | 3 +-- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/app/jobs/credit_insufficient_notification_job.rb b/app/jobs/credit_insufficient_notification_job.rb index e8c1753d8..b3fb4eaef 100644 --- a/app/jobs/credit_insufficient_notification_job.rb +++ b/app/jobs/credit_insufficient_notification_job.rb @@ -24,11 +24,9 @@ def users_with_insufficient_credit end def send_notification_delivery_reports(success_count, unnotifyable_users) - User.treasurer.each do |treasurer| - UserCreditMailer.credit_delivery_report_mail( - treasurer, success_count, unnotifyable_users - ).deliver_later - end + UserCreditMailer.credit_delivery_report_mail( + success_count, unnotifyable_users + ).deliver_later return if Rails.env.local? diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index c8ddffe66..74075cd45 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -7,15 +7,14 @@ def insufficient_credit_mail(user) mail to: user.email, subject: 'Verzoek met betrekking tot uw Zatladder saldo' end - def credit_delivery_report_mail(treasurer, success_count, unnotifyable_users) - @user = treasurer + def credit_delivery_report_mail(success_count, unnotifyable_users) @unnotifyable_users = unnotifyable_users @success_count = success_count @title = 'Notificatie over de saldomail' subject = "Er is #{@success_count.positive? ? 'een' : 'geen'} saldomail verstuurd" - mail to: treasurer.email, subject: + mail to: Rails.application.config.x.treasurer_email, subject: end def new_credit_mutation_mail(credit_mutation) diff --git a/spec/jobs/credit_insufficient_notification_job_spec.rb b/spec/jobs/credit_insufficient_notification_job_spec.rb index 52789f88b..c8a3ab604 100644 --- a/spec/jobs/credit_insufficient_notification_job_spec.rb +++ b/spec/jobs/credit_insufficient_notification_job_spec.rb @@ -10,11 +10,6 @@ let(:user_without_email) do create(:user, name: 'Good Emailless', email: nil, provider: 'some_external_source') end - let(:treasurer) do - create(:user, - name: 'Sis Treasures', email: 'treasurer@csvalpha.nl', - roles: [create(:role, role_type: :treasurer)]) - end let(:emails) { ActionMailer::Base.deliveries } subject(:job) { perform_enqueued_jobs { described_class.perform_now } } @@ -25,14 +20,13 @@ create(:credit_mutation, user: negative_user, amount: -2) create(:credit_mutation, user: negative_user_without_email, amount: -2) user_without_email - treasurer job end it { expect(emails.size).to eq 2 } it { expect(emails.first.to.first).to eq negative_user.email } it { expect(emails.first.body.to_s).to include 'http://testhost:1337/payments/add' } - it { expect(emails.second.to.first).to eq treasurer.email } + it { expect(emails.second.to.first).to eq Rails.application.config.x.treasurer_email } it { expect(emails.second.body.to_s).to include negative_user_without_email.name } it { expect(emails.second.body.to_s).not_to include user_without_email.name } end diff --git a/spec/mailers/previews/user_credit_mailer_preview.rb b/spec/mailers/previews/user_credit_mailer_preview.rb index 994c74e36..e91ff2f6b 100644 --- a/spec/mailers/previews/user_credit_mailer_preview.rb +++ b/spec/mailers/previews/user_credit_mailer_preview.rb @@ -6,11 +6,10 @@ def insufficient_credit_mail end def credit_delivery_report_mail - treasurer = FactoryBot.create(:user, :treasurer) unnotifyable_users = FactoryBot.create_list(:user, 2).map(&:name) success_count = 2 - UserCreditMailer.credit_delivery_report_mail(treasurer, success_count, unnotifyable_users) + UserCreditMailer.credit_delivery_report_mail(success_count, unnotifyable_users) end def new_credit_mutation_mail From d86d6ea98505f78c765e8ec25523e837f1471195 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Tue, 10 Feb 2026 23:38:56 +0100 Subject: [PATCH 2/8] fix for tests --- app/mailers/user_credit_mailer.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 74075cd45..015de013d 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -8,6 +8,9 @@ def insufficient_credit_mail(user) end def credit_delivery_report_mail(success_count, unnotifyable_users) + @user = OpenStruct.new( + name: Rails.application.config.x.treasurer_name || Rails.application.config.x.treasurer_title.capitalize + ) @unnotifyable_users = unnotifyable_users @success_count = success_count @title = 'Notificatie over de saldomail' From e78cc972793b730079bb6860671126fd628badc3 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Tue, 10 Feb 2026 23:44:55 +0100 Subject: [PATCH 3/8] fix lint --- app/mailers/user_credit_mailer.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 015de013d..0b5b6afac 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -8,8 +8,8 @@ def insufficient_credit_mail(user) end def credit_delivery_report_mail(success_count, unnotifyable_users) - @user = OpenStruct.new( - name: Rails.application.config.x.treasurer_name || Rails.application.config.x.treasurer_title.capitalize + @user = Struct.new(:name).new( + Rails.application.config.x.treasurer_name || Rails.application.config.x.treasurer_title.capitalize ) @unnotifyable_users = unnotifyable_users @success_count = success_count From c8071adcb515a921a429eb1233fedaf27e9f3936 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Fri, 13 Feb 2026 13:09:44 +0100 Subject: [PATCH 4/8] fix lint --- app/mailers/user_credit_mailer.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 0b5b6afac..ad6494a91 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -7,6 +7,7 @@ def insufficient_credit_mail(user) mail to: user.email, subject: 'Verzoek met betrekking tot uw Zatladder saldo' end + # rubocop:disable Metrics/AbcSize def credit_delivery_report_mail(success_count, unnotifyable_users) @user = Struct.new(:name).new( Rails.application.config.x.treasurer_name || Rails.application.config.x.treasurer_title.capitalize @@ -19,6 +20,7 @@ def credit_delivery_report_mail(success_count, unnotifyable_users) mail to: Rails.application.config.x.treasurer_email, subject: end + # rubocop:enable Metrics/AbcSize def new_credit_mutation_mail(credit_mutation) @user = credit_mutation.user From 23fb8e265b5eb548f60fe8b5f3db5493fcb2d6d1 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Wed, 18 Feb 2026 10:16:16 +0100 Subject: [PATCH 5/8] make the code cleaner --- app/mailers/user_credit_mailer.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index ad6494a91..179b88c61 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -9,9 +9,6 @@ def insufficient_credit_mail(user) # rubocop:disable Metrics/AbcSize def credit_delivery_report_mail(success_count, unnotifyable_users) - @user = Struct.new(:name).new( - Rails.application.config.x.treasurer_name || Rails.application.config.x.treasurer_title.capitalize - ) @unnotifyable_users = unnotifyable_users @success_count = success_count @title = 'Notificatie over de saldomail' From 343b936712c0c41858231938db92ee8f4a4bfb0d Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Wed, 18 Feb 2026 10:18:49 +0100 Subject: [PATCH 6/8] remove unnessary lint exception --- app/mailers/user_credit_mailer.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 179b88c61..74075cd45 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -7,7 +7,6 @@ def insufficient_credit_mail(user) mail to: user.email, subject: 'Verzoek met betrekking tot uw Zatladder saldo' end - # rubocop:disable Metrics/AbcSize def credit_delivery_report_mail(success_count, unnotifyable_users) @unnotifyable_users = unnotifyable_users @success_count = success_count @@ -17,7 +16,6 @@ def credit_delivery_report_mail(success_count, unnotifyable_users) mail to: Rails.application.config.x.treasurer_email, subject: end - # rubocop:enable Metrics/AbcSize def new_credit_mutation_mail(credit_mutation) @user = credit_mutation.user From 9dd73102ab1380c2d312ec9f6cca3983c0ba5913 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Wed, 18 Feb 2026 11:13:21 +0100 Subject: [PATCH 7/8] revert my smart idea --- app/mailers/user_credit_mailer.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 74075cd45..98faf9e99 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -7,7 +7,11 @@ def insufficient_credit_mail(user) mail to: user.email, subject: 'Verzoek met betrekking tot uw Zatladder saldo' end + # rubocop:disable Metrics/AbcSize def credit_delivery_report_mail(success_count, unnotifyable_users) + @user = Struct.new(:name).new( + Rails.application.config.x.treasurer_name + ) @unnotifyable_users = unnotifyable_users @success_count = success_count @title = 'Notificatie over de saldomail' @@ -16,6 +20,7 @@ def credit_delivery_report_mail(success_count, unnotifyable_users) mail to: Rails.application.config.x.treasurer_email, subject: end + # rubocop:enable Metrics/AbcSize def new_credit_mutation_mail(credit_mutation) @user = credit_mutation.user From 2f133d2ee0fcef4e14e624c312184153a92cf35c Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Wed, 18 Feb 2026 11:31:37 +0100 Subject: [PATCH 8/8] fix lint --- app/mailers/user_credit_mailer.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/mailers/user_credit_mailer.rb b/app/mailers/user_credit_mailer.rb index 98faf9e99..6da606aa9 100644 --- a/app/mailers/user_credit_mailer.rb +++ b/app/mailers/user_credit_mailer.rb @@ -7,7 +7,6 @@ def insufficient_credit_mail(user) mail to: user.email, subject: 'Verzoek met betrekking tot uw Zatladder saldo' end - # rubocop:disable Metrics/AbcSize def credit_delivery_report_mail(success_count, unnotifyable_users) @user = Struct.new(:name).new( Rails.application.config.x.treasurer_name @@ -20,7 +19,6 @@ def credit_delivery_report_mail(success_count, unnotifyable_users) mail to: Rails.application.config.x.treasurer_email, subject: end - # rubocop:enable Metrics/AbcSize def new_credit_mutation_mail(credit_mutation) @user = credit_mutation.user