Commit b2254a348f543db091c2b43c21564bb23fd75029
Exists in
staging
and in
1 other branch
Merge branch 'master' into staging
Showing
7 changed files
with
43 additions
and
13 deletions
Show diff stats
app/helpers/application_helper.rb
| ... | ... | @@ -966,11 +966,16 @@ module ApplicationHelper |
| 966 | 966 | content_tag(:div, _('Source: %s') % source_url, :id => 'article-source') unless source_url.nil? |
| 967 | 967 | end |
| 968 | 968 | |
| 969 | - def task_information(task) | |
| 969 | + def task_information(task, params = {}) | |
| 970 | 970 | values = {} |
| 971 | 971 | values.merge!(task.information[:variables]) if task.information[:variables] |
| 972 | 972 | values.merge!({:requestor => link_to(task.requestor.name, task.requestor.url)}) if task.requestor |
| 973 | - values.merge!({:target => link_to(task.target.name, task.target.url)}) if (task.target && task.target.respond_to?(:url)) | |
| 973 | + if (task.target && task.target.respond_to?(:url)) | |
| 974 | + values.merge!({:target => link_to(task.target.name, task.target.url)}) | |
| 975 | + target_detail = _("in %s").html_safe % values[:target] | |
| 976 | + target_detail = '' if task.target.identifier == params[:profile] | |
| 977 | + values.merge!({:target_detail => target_detail}) | |
| 978 | + end | |
| 974 | 979 | values.merge!({:subject => content_tag('span', task.subject, :class=>'task_target')}) if task.subject |
| 975 | 980 | values.merge!({:linked_subject => link_to(content_tag('span', task.linked_subject[:text], :class => 'task_target'), task.linked_subject[:url])}) if task.linked_subject |
| 976 | 981 | (task.information[:message] % values).html_safe | ... | ... |
app/models/suggest_article.rb
| ... | ... | @@ -65,7 +65,7 @@ class SuggestArticle < Task |
| 65 | 65 | |
| 66 | 66 | def information |
| 67 | 67 | variables = requestor.blank? ? {:requestor => sender} : {} |
| 68 | - { :message => _('%{requestor} suggested the publication of the article: %{subject}.').html_safe, | |
| 68 | + { :message => _('%{requestor} suggested the publication %{target_detail} of the article: %{subject}.').html_safe, | |
| 69 | 69 | :variables => variables } |
| 70 | 70 | end |
| 71 | 71 | ... | ... |
app/views/profile_editor/_pending_tasks.html.erb
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | <div class='pending-tasks'> |
| 5 | 5 | <h2><%= _('You have %s pending requests' % @pending_tasks.count) %></h2> |
| 6 | 6 | <ul> |
| 7 | - <%= safe_join(@pending_tasks.limit(5).map {|task| content_tag('li', task_information(task).html_safe)}) %> | |
| 7 | + <%= safe_join(@pending_tasks.limit(5).map {|task| content_tag('li', task_information(task, params).html_safe)}) %> | |
| 8 | 8 | </ul> |
| 9 | 9 | <%= button(:todo, _('Process requests'), :controller => 'tasks', :action => 'index') %> |
| 10 | 10 | </div> | ... | ... |
app/views/spam/_task.html.erb
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | <%= render :partial => 'tasks/task_icon', :locals => {:task => task} %> |
| 3 | 3 | <%= render :partial => 'tasks/task_title', :locals => {:task => task} %> |
| 4 | 4 | <div class="task-information"> |
| 5 | - <%= task_information(task) %> | |
| 5 | + <%= task_information(task, params) %> | |
| 6 | 6 | </div> |
| 7 | 7 | |
| 8 | 8 | <%= yield %> <%# ??? %> | ... | ... |
app/views/tasks/_task.html.erb
app/views/tasks/_task_processed.html.erb
test/unit/application_helper_test.rb
| ... | ... | @@ -545,12 +545,6 @@ class ApplicationHelperTest < ActionView::TestCase |
| 545 | 545 | assert_equal ["1 for b", "2 for c", "3 for a"], unique_with_count(%w(a b c a c a)) |
| 546 | 546 | end |
| 547 | 547 | |
| 548 | - should 'show task information with the requestor' do | |
| 549 | - person = create_user('usertest').person | |
| 550 | - task = create(Task, :requestor => person) | |
| 551 | - assert_match person.name, task_information(task) | |
| 552 | - end | |
| 553 | - | |
| 554 | 548 | should 'return nil when :show_zoom_button_on_article_images is not enabled in environment' do |
| 555 | 549 | env = Environment.default |
| 556 | 550 | env.stubs(:enabled?).with(:show_zoom_button_on_article_images).returns(false) |
| ... | ... | @@ -960,6 +954,37 @@ class ApplicationHelperTest < ActionView::TestCase |
| 960 | 954 | refute current_editor_is?(nil) |
| 961 | 955 | end |
| 962 | 956 | |
| 957 | + should 'show task information with the requestor' do | |
| 958 | + person = create_user('usertest').person | |
| 959 | + task = create(Task, :requestor => person) | |
| 960 | + assert_match person.name, task_information(task) | |
| 961 | + end | |
| 962 | + | |
| 963 | + should 'show task information with variables information on suggest article tasks' do | |
| 964 | + person = create_user('usertest').person | |
| 965 | + task = create(SuggestArticle, :name => person.name, :target => person) | |
| 966 | + assert_match person.name, task_information(task) | |
| 967 | + end | |
| 968 | + | |
| 969 | + should 'show task information with target detail information on suggest article tasks' do | |
| 970 | + person = create_user('usertest').person | |
| 971 | + task = create(SuggestArticle, :target => person) | |
| 972 | + assert_match /in.*#{person.name}/, task_information(task) | |
| 973 | + end | |
| 974 | + | |
| 975 | + should "show task information without target detail information on suggest article tasks if it's in the same profile" do | |
| 976 | + profile = fast_create(Community) | |
| 977 | + task = create(SuggestArticle, :target => profile) | |
| 978 | + assert_no_match /in.*#{profile.name}/, task_information(task, {:profile => profile.identifier}) | |
| 979 | + end | |
| 980 | + | |
| 981 | + should "show task information with target detail information on suggest article with profile parameter to another profile" do | |
| 982 | + profile = fast_create(Community) | |
| 983 | + another_profile = fast_create(Community) | |
| 984 | + task = create(SuggestArticle, :target => profile) | |
| 985 | + assert_match /in.*#{profile.name}/, task_information(task, {:profile => another_profile.identifier}) | |
| 986 | + end | |
| 987 | + | |
| 963 | 988 | protected |
| 964 | 989 | include NoosferoTestHelper |
| 965 | 990 | ... | ... |