diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 1a1a90d..e9b8340 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -968,7 +968,12 @@ module ApplicationHelper values = {} values.merge!(task.information[:variables]) if task.information[:variables] values.merge!({:requestor => link_to(task.requestor.name, task.requestor.url)}) if task.requestor - values.merge!({:target => link_to(task.target.name, task.target.url)}) if (task.target && task.target.respond_to?(:url)) + if (task.target && task.target.respond_to?(:url)) + values.merge!({:target => link_to(task.target.name, task.target.url)}) + target_detail = _("in %s").html_safe % values[:target] + target_detail = '' if task.target.identifier == params[:profile] + values.merge!({:target_detail => target_detail}) + end values.merge!({:subject => content_tag('span', task.subject, :class=>'task_target')}) if task.subject values.merge!({:linked_subject => link_to(content_tag('span', task.linked_subject[:text], :class => 'task_target'), task.linked_subject[:url])}) if task.linked_subject (task.information[:message] % values).html_safe diff --git a/app/models/suggest_article.rb b/app/models/suggest_article.rb index 15bc273..1028346 100644 --- a/app/models/suggest_article.rb +++ b/app/models/suggest_article.rb @@ -65,7 +65,7 @@ class SuggestArticle < Task def information variables = requestor.blank? ? {:requestor => sender} : {} - { :message => _('%{requestor} suggested the publication of the article: %{subject}.').html_safe, + { :message => _('%{requestor} suggested the publication %{target_detail} of the article: %{subject}.').html_safe, :variables => variables } end diff --git a/test/unit/application_helper_test.rb b/test/unit/application_helper_test.rb index e924baa..0403fcc 100644 --- a/test/unit/application_helper_test.rb +++ b/test/unit/application_helper_test.rb @@ -545,12 +545,6 @@ class ApplicationHelperTest < ActionView::TestCase assert_equal ["1 for b", "2 for c", "3 for a"], unique_with_count(%w(a b c a c a)) end - should 'show task information with the requestor' do - person = create_user('usertest').person - task = create(Task, :requestor => person) - assert_match person.name, task_information(task) - end - should 'return nil when :show_zoom_button_on_article_images is not enabled in environment' do env = Environment.default env.stubs(:enabled?).with(:show_zoom_button_on_article_images).returns(false) @@ -960,6 +954,31 @@ class ApplicationHelperTest < ActionView::TestCase refute current_editor_is?(nil) end + should 'show task information with the requestor' do + person = create_user('usertest').person + task = create(Task, :requestor => person) + assert_match person.name, task_information(task) + end + + should 'show task information with variables information on suggest article tasks' do + person = create_user('usertest').person + task = create(SuggestArticle, :name => person.name, :target => person) + assert_match person.name, task_information(task) + end + + should 'show task information with target detail information on suggest article tasks' do + person = create_user('usertest').person + task = create(SuggestArticle, :target => person) + assert_match /in.*#{person.name}/, task_information(task) + end + + should "show task information without target detail information on suggest article tasks if it's in the same profile" do + person = create_user('usertest').person + task = create(SuggestArticle, :target => person) + self.stubs(:params).returns({:profile => person.identifier}) + assert_no_match /in.*#{person.name}/, task_information(task) + end + protected include NoosferoTestHelper -- libgit2 0.21.2