Commit f862eb4fdf58a8a84404b7a05fb4d06a2ae554f9

Authored by Rodrigo Souto
1 parent 5b423b02

publish-button: refactor display logic and remove useless tests

app/helpers/application_helper.rb
... ... @@ -1306,7 +1306,7 @@ module ApplicationHelper
1306 1306 end
1307 1307  
1308 1308 def content_remove_spread(content)
1309   - not (profile != user || user.communities.present? || @portal_enabled)
  1309 + !content.public? || content.folder? || (profile == user && user.communities.blank? && !environment.portal_enabled)
1310 1310 end
1311 1311  
1312 1312 def remove_content_button(action)
... ...
app/helpers/cms_helper.rb
... ... @@ -41,9 +41,7 @@ module CmsHelper
41 41 end
42 42  
43 43 def display_spread_button(article)
44   - if article.public?
45   - expirable_button article, :spread, _('Spread this'), {:action => 'publish', :id => article.id}, {:class => 'colorbox'}
46   - end
  44 + expirable_button article, :spread, _('Spread this'), {:action => 'publish', :id => article.id}, {:class => 'colorbox'}
47 45 end
48 46  
49 47 def display_delete_button(article)
... ...
app/views/content_viewer/_article_toolbar.html.erb
... ... @@ -15,7 +15,7 @@
15 15 <%= expirable_button @page, :delete, content, url, options %>
16 16 <% end %>
17 17  
18   - <% if !@page.folder? && @page.allow_spread?(user) && !remove_content_button(:spread) %>
  18 + <% if @page.allow_spread?(user) && !remove_content_button(:spread) %>
19 19 <% url = profile.admin_url.merge({ :controller => 'cms', :action => 'publish', :id => @page.id }) %>
20 20 <%= expirable_button @page, :spread, content_tag( 'span', _('Spread this') ), url, {:class => 'colorbox'} if url %>
21 21 <% end %>
... ...
test/functional/content_viewer_controller_test.rb
... ... @@ -319,26 +319,6 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
319 319 assert_tag :content => /list my comment/
320 320 end
321 321  
322   - should 'show link to publication on view' do
323   - page = profile.articles.create!(:name => 'myarticle', :body => 'the body of the text')
324   - login_as(profile.identifier)
325   -
326   - xhr :get, :view_page, :profile => profile.identifier, :page => ['myarticle'], :toolbar => true
327   -
328   - assert_tag :tag => 'a', :attributes => {:href => ('/myprofile/' + profile.identifier + '/cms/publish/' + page.id.to_s)}
329   - end
330   -
331   - should 'not show link to publication on view if not on person profile' do
332   - prof = Community.create!(:name => 'test comm', :identifier => 'test_comm')
333   - page = prof.articles.create!(:name => 'myarticle', :body => 'the body of the text')
334   - prof.affiliate(profile, Profile::Roles.all_roles(prof.environment.id))
335   - login_as(profile.identifier)
336   -
337   - xhr :get, :view_page, :profile => prof.identifier, :page => ['myarticle'], :toolbar => true
338   -
339   - assert_no_tag :tag => 'a', :attributes => {:href => ('/myprofile/' + prof.identifier + '/cms/publish/' + page.id.to_s)}
340   - end
341   -
342 322 should 'redirect to new article path under an old path' do
343 323 p = create_user('test_user').person
344 324 a = p.articles.create(:name => 'old-name')
... ...
test/unit/cms_helper_test.rb
... ... @@ -48,20 +48,11 @@ class CmsHelperTest &lt; ActionView::TestCase
48 48 result = link_to_article(file)
49 49 end
50 50  
51   - should 'display spread button when content is public' do
  51 + should 'display spread button' do
52 52 plugins.stubs(:dispatch).returns([])
53 53 profile = fast_create(Person)
54 54 article = fast_create(TinyMceArticle, :name => 'My article', :profile_id => profile.id)
55   - expects(:link_to).with('Spread this', {:action => 'publish', :id => article.id}, :class => 'button with-text icon-spread', :title => nil)
56   -
57   - result = display_spread_button(article)
58   - end
59   -
60   - should 'not display spread button when content is not public' do
61   - plugins.stubs(:dispatch).returns([])
62   - profile = fast_create(Person)
63   - article = fast_create(TinyMceArticle, :name => 'My article', :profile_id => profile.id, :published => false)
64   - expects(:link_to).with('Spread this', {:action => 'publish', :id => article.id}, :class => 'button with-text icon-spread', :title => nil).never
  55 + expects(:link_to).with('Spread this', {:action => 'publish', :id => article.id}, :class => 'button with-text icon-spread colorbox', :title => nil)
65 56  
66 57 result = display_spread_button(article)
67 58 end
... ...