diff --git a/app/controllers/dmsf_files_controller.rb b/app/controllers/dmsf_files_controller.rb index 432cef54..58d1bc70 100644 --- a/app/controllers/dmsf_files_controller.rb +++ b/app/controllers/dmsf_files_controller.rb @@ -25,6 +25,8 @@ class DmsfFilesController < ApplicationController before_filter :find_file, :except => [:delete_revision] before_filter :find_revision, :only => [:delete_revision] before_filter :authorize + + accept_api_auth :show helper :all helper :dmsf_workflows @@ -80,8 +82,13 @@ class DmsfFilesController < ApplicationController @revision = @file.last_revision @file_delete_allowed = User.current.allowed_to?(:file_delete, @project) @revision_pages = Paginator.new @file.revisions.visible.count, params['per_page'] ? params['per_page'].to_i : 25, params['page'] - - render :layout => !request.xhr? + + respond_to do |format| + format.html { + render :layout => !request.xhr? + } + format.api + end end def create_revision diff --git a/app/views/dmsf_files/show.api.rsb b/app/views/dmsf_files/show.api.rsb new file mode 100644 index 00000000..cb6e2f7d --- /dev/null +++ b/app/views/dmsf_files/show.api.rsb @@ -0,0 +1,4 @@ +api.file do + api.id @file.id + api.name @file.name +end diff --git a/extra/api_client.rb b/extra/api_client.rb new file mode 100644 index 00000000..5f92a7d9 --- /dev/null +++ b/extra/api_client.rb @@ -0,0 +1,17 @@ +require 'rubygems' +require 'active_resource' + +# Dmsf file +class DmsfFile < ActiveResource::Base + self.site = 'http://localhost:3000/' + self.user = '***' + self.password = '***' +end + +# Retrieving a file +file = DmsfFile.find 1 +if file + puts file.name +else + puts 'No file with id = 1 found' +end