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,7 +1306,7 @@ module ApplicationHelper
1306 end 1306 end
1307 1307
1308 def content_remove_spread(content) 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 end 1310 end
1311 1311
1312 def remove_content_button(action) 1312 def remove_content_button(action)
app/helpers/cms_helper.rb
@@ -41,9 +41,7 @@ module CmsHelper @@ -41,9 +41,7 @@ module CmsHelper
41 end 41 end
42 42
43 def display_spread_button(article) 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 end 45 end
48 46
49 def display_delete_button(article) 47 def display_delete_button(article)
app/views/content_viewer/_article_toolbar.html.erb
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 <%= expirable_button @page, :delete, content, url, options %> 15 <%= expirable_button @page, :delete, content, url, options %>
16 <% end %> 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 <% url = profile.admin_url.merge({ :controller => 'cms', :action => 'publish', :id => @page.id }) %> 19 <% url = profile.admin_url.merge({ :controller => 'cms', :action => 'publish', :id => @page.id }) %>
20 <%= expirable_button @page, :spread, content_tag( 'span', _('Spread this') ), url, {:class => 'colorbox'} if url %> 20 <%= expirable_button @page, :spread, content_tag( 'span', _('Spread this') ), url, {:class => 'colorbox'} if url %>
21 <% end %> 21 <% end %>
test/functional/content_viewer_controller_test.rb
@@ -319,26 +319,6 @@ class ContentViewerControllerTest &lt; ActionController::TestCase @@ -319,26 +319,6 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
319 assert_tag :content => /list my comment/ 319 assert_tag :content => /list my comment/
320 end 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 should 'redirect to new article path under an old path' do 322 should 'redirect to new article path under an old path' do
343 p = create_user('test_user').person 323 p = create_user('test_user').person
344 a = p.articles.create(:name => 'old-name') 324 a = p.articles.create(:name => 'old-name')
test/unit/cms_helper_test.rb
@@ -48,20 +48,11 @@ class CmsHelperTest &lt; ActionView::TestCase @@ -48,20 +48,11 @@ class CmsHelperTest &lt; ActionView::TestCase
48 result = link_to_article(file) 48 result = link_to_article(file)
49 end 49 end
50 50
51 - should 'display spread button when content is public' do 51 + should 'display spread button' do
52 plugins.stubs(:dispatch).returns([]) 52 plugins.stubs(:dispatch).returns([])
53 profile = fast_create(Person) 53 profile = fast_create(Person)
54 article = fast_create(TinyMceArticle, :name => 'My article', :profile_id => profile.id) 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 result = display_spread_button(article) 57 result = display_spread_button(article)
67 end 58 end