--- /dev/null
+class AddDeleteWikiPagesAttachmentsPermission < ActiveRecord::Migration
+ def self.up
+ Role.find(:all).each do |r|
+ r.add_permission!(:delete_wiki_pages_attachments) if r.has_permission?(:edit_wiki_pages)
+ end
+ end
+
+ def self.down
+ Role.find(:all).each do |r|
+ r.remove_permission!(:delete_wiki_pages_attachments)
+ end
+ end
+end
map.permission :delete_wiki_pages, {:wiki => :destroy}, :require => :member
map.permission :view_wiki_pages, :wiki => [:index, :special]
map.permission :view_wiki_edits, :wiki => [:history, :diff, :annotate]
- map.permission :edit_wiki_pages, :wiki => [:edit, :preview, :add_attachment, :destroy_attachment]
+ map.permission :edit_wiki_pages, :wiki => [:edit, :preview, :add_attachment]
+ map.permission :delete_wiki_pages_attachments, :wiki => :destroy_attachment
map.permission :protect_wiki_pages, {:wiki => :protect}, :require => :member
end
assert_response :success
assert_template 'edit'
end
+
+ def test_destroy_attachment
+ @request.session[:user_id] = 2
+ assert_difference 'Attachment.count', -1 do
+ post :destroy_attachment, :id => 1, :page => 'Page_with_an_inline_image', :attachment_id => 3
+ end
+ end
end