Commit c096bbc126d7a099edd372349edce9953ea8e6d2
1 parent
16fadb1e
Exists in
master
and in
28 other branches
ActionItem609: creating new articles from the public view
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2350 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
39 additions
and
0 deletions
Show diff stats
app/views/content_viewer/view_page.rhtml
... | ... | @@ -35,6 +35,7 @@ |
35 | 35 | <%= link_to content_tag( 'span', _('Edit') ), |
36 | 36 | { :controller => 'cms', :action => 'edit', :id => @page }, |
37 | 37 | :class => 'button with-text icon-edit' %> |
38 | + <%= lightbox_button(:new, _('New article'), :controller => 'cms', :action => 'new', :parent_id => (@page.folder? ? @page : nil)) %> | |
38 | 39 | </div> |
39 | 40 | <% end %> |
40 | 41 | </div> | ... | ... |
test/functional/content_viewer_controller_test.rb
... | ... | @@ -307,4 +307,42 @@ class ContentViewerControllerTest < Test::Unit::TestCase |
307 | 307 | assert_equal profile, assigns(:profile) |
308 | 308 | end |
309 | 309 | |
310 | + should 'give link to edit the article for owner ' do | |
311 | + login_as('testinguser') | |
312 | + get :view_page, :profile => 'testinguser', :page => [] | |
313 | + assert_tag :tag => 'div', :attributes => { :class => /main-block/ }, :descendant => { :tag => 'a', :attributes => { :href => "/myprofile/testinguser/cms/edit/#{@profile.home_page.id}" } } | |
314 | + end | |
315 | + should 'not give link to edit the article for non-logged-in people' do | |
316 | + get :view_page, :profile => 'testinguser', :page => [] | |
317 | + assert_no_tag :tag => 'div', :attributes => { :class => /main-block/ }, :descendant => { :tag => 'a', :attributes => { :href => "/myprofile/testinguser/cms/edit/#{@profile.home_page.id}" } } | |
318 | + end | |
319 | + should 'not give link to edit article for other people' do | |
320 | + login_as(create_user('anotheruser').login) | |
321 | + | |
322 | + get :view_page, :profile => 'testinguser', :page => [] | |
323 | + assert_no_tag :tag => 'div', :attributes => { :class => /main-block/ }, :descendant => { :tag => 'a', :attributes => { :href => "/myprofile/testinguser/cms/edit/#{@profile.home_page.id}" } } | |
324 | + end | |
325 | + | |
326 | + should 'give link to create new article' do | |
327 | + login_as('testinguser') | |
328 | + get :view_page, :profile => 'testinguser', :page => [] | |
329 | + assert_tag :tag => 'div', :attributes => { :class => /main-block/ }, :descendant => { :tag => 'a', :attributes => { :href => "/myprofile/testinguser/cms/new" } } | |
330 | + end | |
331 | + should 'give no link to create new article for non-logged in people ' do | |
332 | + get :view_page, :profile => 'testinguser', :page => [] | |
333 | + assert_no_tag :tag => 'div', :attributes => { :class => /main-block/ }, :descendant => { :tag => 'a', :attributes => { :href => "/myprofile/testinguser/cms/new" } } | |
334 | + end | |
335 | + should 'give no link to create new article for other people' do | |
336 | + login_as(create_user('anotheruser').login) | |
337 | + get :view_page, :profile => 'testinguser', :page => [] | |
338 | + assert_no_tag :tag => 'div', :attributes => { :class => /main-block/ }, :descendant => { :tag => 'a', :attributes => { :href => "/myprofile/testinguser/cms/new" } } | |
339 | + end | |
340 | + | |
341 | + should 'give link to create new article inside folder' do | |
342 | + login_as('testinguser') | |
343 | + folder = Folder.create!(:name => 'myfolder', :profile => @profile) | |
344 | + get :view_page, :profile => 'testinguser', :page => [ 'myfolder' ] | |
345 | + assert_tag :tag => 'div', :attributes => { :class => /main-block/ }, :descendant => { :tag => 'a', :attributes => { :href => "/myprofile/testinguser/cms/new?parent_id=#{folder.id}" } } | |
346 | + end | |
347 | + | |
310 | 348 | end | ... | ... |