diff --git a/app/controllers/dmsf_files_controller.rb b/app/controllers/dmsf_files_controller.rb index 4a41975b..d9cd2b03 100644 --- a/app/controllers/dmsf_files_controller.rb +++ b/app/controllers/dmsf_files_controller.rb @@ -30,7 +30,7 @@ class DmsfFilesController < ApplicationController before_action :tree_view, :only => [:delete] before_action :permissions - accept_api_auth :show + accept_api_auth :show, :view helper :all helper :dmsf_workflows diff --git a/app/views/dmsf_files/show.api.rsb b/app/views/dmsf_files/show.api.rsb index 7580e599..8f2243b5 100644 --- a/app/views/dmsf_files/show.api.rsb +++ b/app/views/dmsf_files/show.api.rsb @@ -10,5 +10,5 @@ api.dmsf_file do api.size @file.last_revision.size api.description @file.last_revision.description end - api.content_url url_for(:controller => :dmsf_files, :action => 'show', :download => '', :id => @file) + api.content_url download_dmsf_file_url(@file) end \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 24f2fb25..d4d78c82 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -81,7 +81,7 @@ if Redmine::Plugin.installed? :redmine_dmsf post '/dmsf/files/:id/delete', :controller => 'dmsf_files', :action => 'delete', :as => 'delete_dmsf_files' post '/dmsf/files/:id/revision/create', :controller => 'dmsf_files', :action => 'create_revision' get '/dmsf/files/:id/revision/delete', :controller => 'dmsf_files', :action => 'delete_revision', :as => 'delete_revision' - get '/dmsf/files/:id/download', :controller => 'dmsf_files', :action => 'show', :download => '' # Otherwise will not route nil download param + get '/dmsf/files/:id/download', :to => 'dmsf_files#view', :download => '', :as => 'download_dmsf_file' # Otherwise will not route nil into the download param get '/dmsf/files/:id/view', :to => 'dmsf_files#view', :as => 'view_dmsf_file' get '/dmsf/files/:id', :controller => 'dmsf_files', :action => 'show', :as => 'dmsf_file' delete '/dmsf/files/:id', :controller => 'dmsf_files', :action => 'delete' diff --git a/test/integration/rest_api/dmsf_file_api_test.rb b/test/integration/rest_api/dmsf_file_api_test.rb index f171da04..bfd0bdda 100644 --- a/test/integration/rest_api/dmsf_file_api_test.rb +++ b/test/integration/rest_api/dmsf_file_api_test.rb @@ -70,7 +70,7 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest # 81dc9bdb52d04dc20036dbd8313ed055 # 4 # Some file :-) - # /dmsf/files/1/download + # http://www.example.com/dmsf/files/1/download # assert_select 'dmsf_file > id', :text => @file1.id.to_s assert_select 'dmsf_file > name', :text => @file1.name @@ -80,7 +80,7 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest assert_select 'dmsf_file > digest', :text => @file1.last_revision.digest assert_select 'dmsf_file > size', :text => @file1.last_revision.size.to_s assert_select 'dmsf_file > description', :text => @file1.last_revision.description - assert_select 'dmsf_file > content_url', :text => "/dmsf/files/#{@file1.id}/download" + assert_select 'dmsf_file > content_url', :text => "http://www.example.com/dmsf/files/#{@file1.id}/download" #curl -v -H "Content-Type: application/octet-stream" -X GET -u ${1}:${2} http://localhost:3000/dmsf/files/41532/download > file.txt get "/dmsf/files/#{@file1.id}/download?key=#{token.value}" assert_response :success