From 16fd42d3bf1690c108cabc76480547770c77c6a1 Mon Sep 17 00:00:00 2001 From: Matheus Agio Nerone <man13@inf.ufpr.br> Date: Wed, 18 Nov 2015 13:56:30 -0200 Subject: [PATCH] modifi upload response so its possible to download now Signed-off-by: Matheus Agio Nerone <man13@inf.ufpr.br> --- app/controllers/learning_objects_controller.rb | 8 ++++++-- app/models/learning_object.rb | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/controllers/learning_objects_controller.rb b/app/controllers/learning_objects_controller.rb index 9d8305b5..ff5691e8 100644 --- a/app/controllers/learning_objects_controller.rb +++ b/app/controllers/learning_objects_controller.rb @@ -60,8 +60,12 @@ class LearningObjectsController < ApplicationController response = repo.create_item_for(collection, lo) file = params[:learning_object][:file] + bitstream_response = {} repo = Dspace::Client.instance.repository.item_repository - bitstream_response = repo.create_bitstream_for(response, file.tempfile.path, strategy) + dspace_bitstream_response = repo.create_bitstream_for(response, file.tempfile.path, strategy).as_json + dspace_bitstream_response.each do |v,k| + bitstream_response[v.camelize(:lower)] = k + end subjects = [] params[:learning_object][:subjects].each do |subject| @@ -76,7 +80,7 @@ class LearningObjectsController < ApplicationController @learning_object.last_modified = Time.now @learning_object.publisher = current_user @learning_object.metadata = lo.to_h[:metadata].as_json.to_s.gsub! '=>', ':' - @learning_object.bitstreams = [bitstream_response.as_json] + @learning_object.bitstreams = [bitstream_response] respond_to do |format| if learning_object_repository.create @learning_object diff --git a/app/models/learning_object.rb b/app/models/learning_object.rb index 3f281140..bd937e37 100644 --- a/app/models/learning_object.rb +++ b/app/models/learning_object.rb @@ -66,7 +66,7 @@ class LearningObject #TODO: move for Bitstream model def get_bitstream_retrievelink_of name - values = @bitstreams.select { |v| v["bundleName"] == name } + values = @bitstreams.select { |v| v["bundleName"] == name} unless values.empty? return Dspace::Config.rest_url + values.first["retrieveLink"] end -- GitLab