Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/controllers/groups_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def request_access
@group.admins.each do |admin|
send_message(admin, :group_request)

AccessRequestMailer.send_access_request(current_user, admin, @group).deliver_later
AccessRequestMailer.with(user: current_user, admin:, group: @group).send_access_request.deliver_later
end
@group.add(current_user, role: :applicant)
redirect_to Group
Expand Down
6 changes: 3 additions & 3 deletions app/controllers/task_contributions_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class TaskContributionsController < ApplicationController

def approve_changes
if @task.apply_contribution(@task_contribution)
TaskContributionMailer.send_approval_info(@task_contribution).deliver_later
TaskContributionMailer.with(task_contrib: @task_contribution).send_approval_info.deliver_later
redirect_to @task, notice: t('.success')
else
redirect_to [@task, @task_contribution], alert: t('.error')
Expand All @@ -27,7 +27,7 @@ def discard_changes
def reject_changes
duplicate = @task_contribution.decouple
if duplicate
TaskContributionMailer.send_rejection_info(@task_contribution, duplicate).deliver_later
TaskContributionMailer.with(task_contrib: @task_contribution, duplicate:).send_rejection_info.deliver_later
redirect_to @task, notice: t('.success')
else
redirect_to [@task, @task_contribution], alert: t('.error')
Expand Down Expand Up @@ -78,7 +78,7 @@ def create # rubocop:disable Metrics/AbcSize
authorize @task_contribution

if @task_contribution.save(context: :force_validations)
TaskContributionMailer.send_contribution_request(@task_contribution).deliver_later
TaskContributionMailer.with(task_contrib: @task_contribution).send_contribution_request.deliver_later
redirect_to [@task, @task_contribution], notice: t('common.notices.object_created', model: TaskContribution.model_name.human)
else
@task = @task_contribution.suggestion
Expand Down
9 changes: 5 additions & 4 deletions app/mailers/access_request_mailer.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# frozen_string_literal: true

class AccessRequestMailer < ApplicationMailer
def send_access_request(user, admin, group)
@user = user
@admin = admin
@group = group
def send_access_request
@user = params.fetch(:user)
@admin = params.fetch(:admin)
@group = params.fetch(:group)

I18n.with_locale(@admin.preferred_locale || I18n.default_locale) do
mail(to: @admin.email, subject: t('groups.access_request_mailer.subject', user: @user.name, group: @group.name))
end
Expand Down
25 changes: 14 additions & 11 deletions app/mailers/task_contribution_mailer.rb
Original file line number Diff line number Diff line change
@@ -1,30 +1,33 @@
# frozen_string_literal: true

class TaskContributionMailer < ApplicationMailer
def send_contribution_request(task_contrib)
@task_author = task_contrib.base.user
@task_contrib = task_contrib
@contrib_author = task_contrib.suggestion.user
def send_contribution_request
@task_contrib = params.fetch(:task_contrib)
@task_author = @task_contrib.base.user
@contrib_author = @task_contrib.suggestion.user

I18n.with_locale(@task_author.preferred_locale || I18n.default_locale) do
mail(to: @task_author.email,
subject: t('task_contributions.mailer.contribution_request.subject_message', contrib_author: @contrib_author,
task: @task_contrib.base.title))
end
end

def send_approval_info(task_contrib)
@task_contrib = task_contrib
@contrib_author = task_contrib.suggestion.user
def send_approval_info
@task_contrib = params.fetch(:task_contrib)
@contrib_author = @task_contrib.suggestion.user

I18n.with_locale(@contrib_author.preferred_locale || I18n.default_locale) do
mail(to: @contrib_author.email,
subject: t('task_contributions.mailer.approval_info.subject_message', task: @task_contrib.base.title))
end
end

def send_rejection_info(task_contrib, duplicate)
@task_contrib = task_contrib
@contrib_author = task_contrib.suggestion.user
@duplicate = duplicate
def send_rejection_info
@task_contrib = params.fetch(:task_contrib)
@contrib_author = @task_contrib.suggestion.user
@duplicate = params.fetch(:duplicate)

I18n.with_locale(@contrib_author.preferred_locale || I18n.default_locale) do
mail(to: @contrib_author.email,
subject: t('task_contributions.mailer.rejection_info.subject_message', task: @task_contrib.base.title))
Expand Down
2 changes: 1 addition & 1 deletion spec/mailers/previews/access_request_mailer_preview.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ def send_access_request
group = FactoryBot.build(:group, id: 1)
admin = group.group_memberships.find(&:role_admin?).user
user = FactoryBot.build(:user)
AccessRequestMailer.send_access_request(user, admin, group)
AccessRequestMailer.with(user:, admin:, group:).send_access_request
end
end
6 changes: 3 additions & 3 deletions spec/mailers/previews/task_contribution_mailer_preview.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ class TaskContributionMailerPreview < ActionMailer::Preview
def send_contribution_request
base = FactoryBot.build(:task, id: 1)
task_contribution = FactoryBot.build(:task_contribution, base:, id: 2)
TaskContributionMailer.send_contribution_request(task_contribution)
TaskContributionMailer.with(task_contrib: task_contribution).send_contribution_request
end

def send_approval_info
base = FactoryBot.build(:task, id: 1)
task_contribution = FactoryBot.build(:task_contribution, base:, id: 2)
TaskContributionMailer.send_approval_info(task_contribution)
TaskContributionMailer.wtih(task_contrib: task_contribution).send_approval_info
end

def send_rejection_info
base = FactoryBot.build(:task, id: 1)
duplicate = FactoryBot.build(:task, parent: base, id: 3)
task_contribution = FactoryBot.build(:task_contribution, base:, id: 2)
TaskContributionMailer.send_rejection_info(task_contribution, duplicate)
TaskContributionMailer.with(task_contrib: task_contribution, duplicate:).send_rejection_info
end
end
6 changes: 3 additions & 3 deletions spec/mailers/task_contribution_mailer_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
let(:task_contrib) { create(:task_contribution) }

describe '#contribution_request' do
subject(:contribution_request) { described_class.send_contribution_request(task_contrib) }
subject(:contribution_request) { described_class.with(task_contrib:).send_contribution_request }

it 'sends an email' do
expect(contribution_request.to).to include(task_contrib.base.user.email)
Expand All @@ -23,7 +23,7 @@
end

describe '#approval_info' do
subject(:approval_info) { described_class.send_approval_info(task_contrib) }
subject(:approval_info) { described_class.with(task_contrib:).send_approval_info }

it 'sends an email' do
expect(approval_info.to).to include(task_contrib.suggestion.user.email)
Expand All @@ -37,7 +37,7 @@
end

describe '#rejection_info' do
subject(:rejection_info) { described_class.send_rejection_info(task_contrib, duplicate_task) }
subject(:rejection_info) { described_class.with(task_contrib:, duplicate: duplicate_task).send_rejection_info }

let(:duplicate_task) { create(:task) }

Expand Down
Loading