1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-01-06 23:51:31 +00:00

Add support for attaching file to WIKI pages by REST API (#14830).

Patch by Takenori TAKAKI.

git-svn-id: http://svn.redmine.org/redmine/trunk@15415 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2016-05-16 06:29:52 +00:00
parent 0e59482e90
commit 7d6b3d344d
2 changed files with 20 additions and 1 deletions

View File

@ -169,7 +169,7 @@ class WikiController < ApplicationController
@content.author = User.current
if @page.save_with_content(@content)
attachments = Attachment.attach_files(@page, params[:attachments])
attachments = Attachment.attach_files(@page, params[:attachments] || (params[:wiki_page] && params[:wiki_page][:uploads]))
render_attachment_warning_if_needed(@page)
call_hook(:controller_wiki_edit_after_save, { :params => params, :page => @page})

View File

@ -164,6 +164,25 @@ class Redmine::ApiTest::WikiPagesTest < Redmine::ApiTest::Base
assert_nil page.parent
end
test "PUT /projects/:project_id/wiki/:title.xml with attachment" do
set_tmp_attachments_directory
attachment = Attachment.create!(:file => uploaded_test_file("testfile.txt", "text/plain"), :author_id => 2)
assert_difference 'WikiPage.count' do
assert_difference 'WikiContent::Version.count' do
put '/projects/ecookbook/wiki/New_page_from_API.xml',
{:wiki_page => {:text => 'New content from API with Attachments', :comments => 'API create with Attachments',
:uploads => [:token => attachment.token, :filename => 'testfile.txt', :content_type => "text/plain"]}},
credentials('jsmith')
assert_response 201
end
end
page = WikiPage.order('id DESC').first
assert_equal 'New_page_from_API', page.title
assert_include attachment, page.attachments
assert_equal attachment.filename, page.attachments.first.filename
end
test "PUT /projects/:project_id/wiki/:title.xml with parent" do
assert_difference 'WikiPage.count' do
assert_difference 'WikiContent::Version.count' do