Class: GenericContentObjectsController

Inherits:
ApplicationController show all
Includes:
Blacklight::SolrHelper, Hydra::AssetsControllerHelper, Hydra::FileAssetsHelper, Hydra::RepositoryController, MediaShelf::ActiveFedoraHelper
Defined in:
vendor/plugins/hydra_repository/app/controllers/generic_content_objects_controller.rb

Constant Summary

Constants included from Blacklight::SolrHelper

MaxPerPage

Instance Method Summary (collapse)

Methods included from Blacklight::SolrHelper

#facet_limit_for, #facet_limit_hash, #get_facet_pagination, #get_opensearch_response, #get_search_results, #get_single_doc_via_search, #get_solr_response_for_doc_id, #get_solr_response_for_field_values, included, #max_per_page, #solr_doc_params, #solr_facet_params, #solr_opensearch_params, #solr_param_quote, #solr_search_params

Methods included from MediaShelf::ActiveFedoraHelper

#load_af_instance_from_solr, #retrieve_af_model

Methods included from Hydra::RepositoryController

#downloadables, included, #solr_name

Methods included from Hydra::FileAssetsHelper

#add_posted_blob_to_asset, #asset_class_from_params, #choose_model_by_filename, #choose_model_by_filename_extension, #create_and_save_file_asset_from_params, #create_asset_from_params

Methods included from Hydra::AssetsControllerHelper

#apply_depositor_metadata, #prep_updater_method_args, #set_collection_type

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) create



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

def create 
  unless params.has_key?(:Filedata)
    raise "No file to process"
  end
  if !params[:container_id].nil? && params[:Filedata]
    af_base =  ActiveFedora::Base.find(params[:container_id])
    af_model = retrieve_af_model( af_base.relationships[:self][:has_model].first.split(":")[-1] )
    logger.debug "#########: af_model = #{af_model.to_s}"
    generic_content_object = af_model.load_instance(params[:container_id])
    generic_content_object.content={:file => params[:Filedata], :file_name => params[:Filename]}
    logger.debug "#########: set the content"
    generic_content_object.save
    logger.debug "#########: saved #{generic_content_object.pid} with new content #{params[:Filename]}"
    if af_model == GenericImage
      logger.debug "#########: deriving images"
      generic_content_object.derive_all
      logger.debug "#########: finished deriving images"
    end   
  end
  render :nothing => true
end