diff --git a/app/models/task_mailer.rb b/app/models/task_mailer.rb index d159da1..ba8160b 100644 --- a/app/models/task_mailer.rb +++ b/app/models/task_mailer.rb @@ -22,15 +22,15 @@ class TaskMailer < ActionMailer::Base :target => task.target.name, :message => msg, :environment => task.requestor.environment.name, - :url => url_for(:host => task.requestor.environment.default_hostname, :controller => 'home'), + :url => generate_environment_url(task, :controller => 'home'), :tasks_url => url_for_tasks_list end def invitation_notification(task) msg = task.message msg = msg.gsub(//, task.requestor.name) - msg = msg.gsub(//, task.friend_name) - msg = msg.gsub(//, url_for(:host => task.requestor.environment.default_hostname, :controller => 'account', :action => 'signup', :invitation_code => task.code)) + msg = msg.gsub(//, task.friend_name.blank? ? task.friend_email : task.friend_name) + msg = msg.gsub(//, generate_environment_url(task, :controller => 'account', :action => 'signup', :invitation_code => task.code)) recipients task.friend_email @@ -66,4 +66,8 @@ class TaskMailer < ActionMailer::Base "#{task.requestor.environment.name} <#{task.requestor.environment.contact_email}>" end + def generate_environment_url(task, url = {}) + url_for(Noosfero.url_options.merge(:host => task.requestor.environment.default_hostname).merge(url)) + end + end diff --git a/test/unit/task_mailer_test.rb b/test/unit/task_mailer_test.rb index e2fb58e..5254f0a 100644 --- a/test/unit/task_mailer_test.rb +++ b/test/unit/task_mailer_test.rb @@ -113,7 +113,7 @@ class TaskMailerTest < Test::Unit::TestCase task.expects(:message).returns('Hello , invite you, please follow this link: ') task.expects(:friend_email).returns('friend@exemple.com') - task.expects(:friend_name).returns('friend name') + task.expects(:friend_name).returns('friend name').at_least_once requestor = mock() requestor.expects(:name).returns('my name') -- libgit2 0.21.2