Class: GetController

Inherits:
ApplicationController show all
Includes:
Hydra::RepositoryController, MediaShelf::ActiveFedoraHelper
Defined in:
vendor/plugins/hydra_repository/app/controllers/get_controller.rb

Instance Method Summary (collapse)

Methods included from Hydra::RepositoryController

#downloadables, included, #solr_name

Methods included from MediaShelf::ActiveFedoraHelper

#load_af_instance_from_solr, #retrieve_af_model

Methods inherited from ApplicationController

#current_user, #default_html_head, #error, #extra_head_content, #javascript_includes, #stylesheet_links, #user_class

Methods included from HydraAccessControlsHelper

#editor?, #reader?, #test_permission

Instance Method Details

- (Object) show



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'vendor/plugins/hydra_repository/app/controllers/get_controller.rb', line 9

def show
  fedora_object = ActiveFedora::Base.load_instance(params[:id])
  
  respond_to do |format|
    format.html { send_datastream downloadables( fedora_object, :canonical=>true ) }
    format.pdf { send_datastream downloadables( fedora_object, :canonical=>true, :mime_type=>"application/pdf" ) }
    format.jp2 do 
      canonical_jp2 = downloadables( fedora_object, :canonical=>true, :mime_type=>"image/jp2" )
      jp2_content_url = "#{canonical_jp2.url}/content"
      if params["image_server"]
        if params["image_server"]["scale"] 
          send_data Djatoka.scale(jp2_content_url, params["image_server"]["scale"]), :type=>"image/jpeg"
        elsif   params["image_server"]["region"] 
          send_data Djatoka.region(jp2_content_url, params["image_server"]["region"]), :type=>"image/jpeg"
        else
          send_data Djatoka.get_image(jp2_content_url, params["image_server"]["region"]), :type=>"image/jpeg"
        end
      else
        send_datastream canonical_jp2
      end
    end
  end
  
end