mirror of
https://github.com/redmine/redmine.git
synced 2025-11-13 08:46:01 +01:00
Allow attachment thumbnails from REST API (#18707).
git-svn-id: http://svn.redmine.org/redmine/trunk@13806 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -22,7 +22,7 @@ class AttachmentsController < ApplicationController
|
||||
before_filter :delete_authorize, :only => :destroy
|
||||
before_filter :authorize_global, :only => :upload
|
||||
|
||||
accept_api_auth :show, :download, :upload
|
||||
accept_api_auth :show, :download, :thumbnail, :upload
|
||||
|
||||
def show
|
||||
respond_to do |format|
|
||||
|
||||
@@ -54,6 +54,10 @@ module AttachmentsHelper
|
||||
api.content_type attachment.content_type
|
||||
api.description attachment.description
|
||||
api.content_url download_named_attachment_url(attachment, attachment.filename)
|
||||
if attachment.thumbnailable?
|
||||
api.thumbnail_url thumbnail_url(attachment)
|
||||
end
|
||||
api.content_url download_named_attachment_url(attachment, attachment.filename)
|
||||
api.author(:id => attachment.author.id, :name => attachment.author.name) if attachment.author
|
||||
api.created_on attachment.created_on
|
||||
end
|
||||
|
||||
@@ -47,6 +47,15 @@ class Redmine::ApiTest::AttachmentsTest < Redmine::ApiTest::Base
|
||||
end
|
||||
end
|
||||
|
||||
test "GET /attachments/:id.xml for image should include thumbnail_url" do
|
||||
get '/attachments/16.xml', {}, credentials('jsmith')
|
||||
assert_response :success
|
||||
assert_equal 'application/xml', @response.content_type
|
||||
assert_select 'attachment id:content(16)' do
|
||||
assert_select '~ thumbnail_url', :text => 'http://www.example.com/attachments/thumbnail/16'
|
||||
end
|
||||
end
|
||||
|
||||
test "GET /attachments/:id.xml should deny access without credentials" do
|
||||
get '/attachments/7.xml'
|
||||
assert_response 401
|
||||
@@ -66,6 +75,12 @@ class Redmine::ApiTest::AttachmentsTest < Redmine::ApiTest::Base
|
||||
set_tmp_attachments_directory
|
||||
end
|
||||
|
||||
test "GET /attachments/thumbnail/:id should return the thumbnail" do
|
||||
skip unless convert_installed?
|
||||
get '/attachments/thumbnail/16', {}, credentials('jsmith')
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "POST /uploads.xml should return the token" do
|
||||
set_tmp_attachments_directory
|
||||
assert_difference 'Attachment.count' do
|
||||
|
||||
@@ -131,6 +131,10 @@ class ActiveSupport::TestCase
|
||||
Redmine::Thumbnail.convert_available?
|
||||
end
|
||||
|
||||
def convert_installed?
|
||||
self.class.convert_installed?
|
||||
end
|
||||
|
||||
# Returns the path to the test +vendor+ repository
|
||||
def self.repository_path(vendor)
|
||||
path = Rails.root.join("tmp/test/#{vendor.downcase}_repository").to_s
|
||||
|
||||
Reference in New Issue
Block a user