From 153122fe592feea8fae2396cf36dbd3f03d03497 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Sat, 1 Feb 2025 17:24:33 +0100 Subject: [PATCH] fix several issues with new emails --- app/controllers/members_controller.rb | 2 +- app/jobs/membership_warning_job.rb | 2 +- app/mailers/organization_notifier.rb | 6 +++--- app/views/organization_notifier/member_deleted.html.erb | 2 +- spec/jobs/membership_warning_job.rb | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index 6f490099..b5454a76 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -6,7 +6,7 @@ def destroy toggle_active_posts @member.destroy - OrganizationNotifier.member_deleted(@member).deliver_later + OrganizationNotifier.member_deleted(@member.user.username, current_organization).deliver_later redirect_to request.referer.include?(organizations_path) ? organizations_path : manage_users_path end diff --git a/app/jobs/membership_warning_job.rb b/app/jobs/membership_warning_job.rb index b46e06e0..981b6247 100644 --- a/app/jobs/membership_warning_job.rb +++ b/app/jobs/membership_warning_job.rb @@ -3,7 +3,7 @@ class MembershipWarningJob < ActiveJob::Base def perform User.without_memberships.find_each do |user| - if user.created_at < 15.days.ago && user.no_membership_warning? + if user.created_at.to_date == 15.days.ago.to_date && user.no_membership_warning? OrganizationNotifier.no_membership_warning(user).deliver_now end end diff --git a/app/mailers/organization_notifier.rb b/app/mailers/organization_notifier.rb index df1e048d..2625b98e 100644 --- a/app/mailers/organization_notifier.rb +++ b/app/mailers/organization_notifier.rb @@ -36,9 +36,8 @@ def petition_sent(petition) end end - def member_deleted(member) - @user = member.user - organization = member.organization + def member_deleted(username, organization) + @username = username org_managers = organization.all_managers I18n.with_locale(org_managers.first&.locale) do @@ -53,6 +52,7 @@ def no_membership_warning(user) I18n.with_locale(user.locale) do mail( subject: "Do not forget to join a Timebank", + to: user.email ) end end diff --git a/app/views/organization_notifier/member_deleted.html.erb b/app/views/organization_notifier/member_deleted.html.erb index e2b838f4..7e1d11a9 100644 --- a/app/views/organization_notifier/member_deleted.html.erb +++ b/app/views/organization_notifier/member_deleted.html.erb @@ -1 +1 @@ -<%= t("organization_notifier.member_deleted.body", user: @user.username) %> +<%= t("organization_notifier.member_deleted.body", username: @username) %> diff --git a/spec/jobs/membership_warning_job.rb b/spec/jobs/membership_warning_job.rb index 5c308db1..a9d59bc1 100644 --- a/spec/jobs/membership_warning_job.rb +++ b/spec/jobs/membership_warning_job.rb @@ -3,7 +3,7 @@ let!(:user) { Fabricate(:user) } let!(:member) { Fabricate(:member, organization: org, user: user) } let!(:user_with_no_memberships) { Fabricate(:user) } - let!(:user_with_no_memberships2) { Fabricate(:user, created_at: 16.days.ago) } + let!(:user_with_no_memberships2) { Fabricate(:user, created_at: 15.days.ago) } describe '#perform' do it "should send emails in user's locale" do