From 4d9ad46b99ac739104742d2aba9bfba34f8d3942 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Fri, 6 Sep 2013 02:30:14 +0000 Subject: [PATCH] rails3: fix pending_task_notifier --- app/mailers/pending_task_notifier.rb | 19 +++++++++++++++++++ app/models/pending_task_notifier.rb | 16 ---------------- test/unit/pending_task_notifier_test.rb | 6 +++--- 3 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 app/mailers/pending_task_notifier.rb delete mode 100644 app/models/pending_task_notifier.rb diff --git a/app/mailers/pending_task_notifier.rb b/app/mailers/pending_task_notifier.rb new file mode 100644 index 0000000..e9f0a5d --- /dev/null +++ b/app/mailers/pending_task_notifier.rb @@ -0,0 +1,19 @@ +class PendingTaskNotifier < ActionMailer::Base + + def notification(person) + @person = person + @tasks = person.tasks.pending + @organizations_with_pending_tasks = person.organizations_with_pending_tasks + @environment = person.environment.name + @url = url_for(:host => person.environment.default_hostname, :controller => 'home') + @default_hostname = person.environment.default_hostname + @url_for_pending_tasks = url_for(:host => person.environment.default_hostname, :controller => 'tasks', :profile => person.identifier) + + mail( + to: person.email, + from: "#{person.environment.name} <#{person.environment.contact_email}>", + subject: _("[%s] Pending tasks") % person.environment.name + ) + end + +end diff --git a/app/models/pending_task_notifier.rb b/app/models/pending_task_notifier.rb deleted file mode 100644 index 478b145..0000000 --- a/app/models/pending_task_notifier.rb +++ /dev/null @@ -1,16 +0,0 @@ -class PendingTaskNotifier < ActionMailer::Base - - def notification(person) - recipients person.email - from "#{person.environment.name} <#{person.environment.contact_email}>" - subject _("[%s] Pending tasks") % person.environment.name - body :person => person, - :tasks => person.tasks.pending, - :organizations_with_pending_tasks => person.organizations_with_pending_tasks, - :environment => person.environment.name, - :url => url_for(:host => person.environment.default_hostname, :controller => 'home'), - :default_hostname => person.environment.default_hostname, - :url_for_pending_tasks => url_for(:host => person.environment.default_hostname, :controller => 'tasks', :profile => person.identifier) - end - -end diff --git a/test/unit/pending_task_notifier_test.rb b/test/unit/pending_task_notifier_test.rb index c73d8df..905f5a1 100644 --- a/test/unit/pending_task_notifier_test.rb +++ b/test/unit/pending_task_notifier_test.rb @@ -14,7 +14,7 @@ class PendingTaskNotifierTest < ActiveSupport::TestCase should 'be able to deliver notification' do env = Environment.default p = create_user('maelcum').person - response = PendingTaskNotifier.deliver_notification(p) + response = PendingTaskNotifier.notification(p).deliver assert_equal "[#{env.name}] Pending tasks", response.subject assert_equal p.email, response.to[0] end @@ -25,8 +25,8 @@ class PendingTaskNotifierTest < ActiveSupport::TestCase c.add_admin(p) c.tasks << Task.new(:requestor => p) - response = PendingTaskNotifier.deliver_notification(p) - assert_match /sent you a task/, response.body + response = PendingTaskNotifier.notification(p).deliver + assert_match /sent you a task/, response.body.to_s end private -- libgit2 0.21.2