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