From 34cce86b57d8075a7a54438282b9d745108476d0 Mon Sep 17 00:00:00 2001 From: Marcela Ribeiro de Oliveira <mro15@inf.ufpr.br> Date: Thu, 25 Jan 2018 11:40:56 -0200 Subject: [PATCH] Revert "Merge branch 'issue/275' into 'master'" This reverts merge request !471 --- .../v1/learning_objects/attachment_controller.rb | 13 ++++--------- app/models/learning_object/attachment.rb | 7 ++++--- .../learning_object/attachment_serializer.rb | 3 +-- ...pdate_learning_object_attachments_foreign_key.rb | 6 ++++++ ...ing_object_attachments_foreign_key_on_cascade.rb | 5 +++++ ...attachment_id_for_learning_object_attachments.rb | 7 ------- ...dd_foreign_key_to_learning_object_attachments.rb | 8 -------- 7 files changed, 20 insertions(+), 29 deletions(-) create mode 100644 db/migrate/20171205120824_update_learning_object_attachments_foreign_key.rb create mode 100644 db/migrate/20171205140057_remove_learning_object_attachments_foreign_key_on_cascade.rb delete mode 100644 db/migrate/20180119174926_remove_attachment_id_for_learning_object_attachments.rb delete mode 100644 db/migrate/20180123124526_add_foreign_key_to_learning_object_attachments.rb diff --git a/app/controllers/v1/learning_objects/attachment_controller.rb b/app/controllers/v1/learning_objects/attachment_controller.rb index 1ddbd2ed..5df351e7 100644 --- a/app/controllers/v1/learning_objects/attachment_controller.rb +++ b/app/controllers/v1/learning_objects/attachment_controller.rb @@ -27,7 +27,7 @@ class V1::LearningObjects::AttachmentController < ApplicationController # GET /learning_objects/:learning_object_id/attachment def index - @attachment = paginate @attachment + @attachment = paginate LearningObject::Attachment.includes(:attachment) render json: @attachment end @@ -68,18 +68,13 @@ class V1::LearningObjects::AttachmentController < ApplicationController end def update_params - params.permit(:learning_object_attachment_id, :learning_object_attachment_id_son, :infohash) + params.permit(:attachment_id, :infohash) end def set_objects - if current_user.try(:is_admin?) - @learning_object = LearningObject.unscoped.find(attachment_params[:learning_object_id]) - else - @learning_object = LearningObject.find(attachment_params[:learning_object_id]) - end - + @learning_object = LearningObject.find(attachment_params[:learning_object_id]) if ( attachment_params[:id].blank? ) - @attachment = @learning_object.attachments + @attachment = @learning_object.attachment else @attachment = LearningObject::Attachment.find(attachment_params[:id]) end diff --git a/app/models/learning_object/attachment.rb b/app/models/learning_object/attachment.rb index 4ac95362..9f57093d 100644 --- a/app/models/learning_object/attachment.rb +++ b/app/models/learning_object/attachment.rb @@ -45,9 +45,10 @@ class LearningObject::Attachment < ApplicationRecord include ::Thumbnailable belongs_to :learning_object scope :unknown_mime_type, ->() { where(format: 'Unknown') } - has_one :learning_object_attachment, as: :learning_object_attachment_id_son - belongs_to :learning_object_attachment - + has_one :attachment, class_name: 'LearningObject::Attachment' + belongs_to :attachment, class_name: 'LearningObject::Attachment' + # has_and_belongs_to_many + # belongs_to def retrieve_url "#{DspaceService.link}/rest#{retrieve_link}" diff --git a/app/serializers/learning_object/attachment_serializer.rb b/app/serializers/learning_object/attachment_serializer.rb index 867abf04..4d192a09 100644 --- a/app/serializers/learning_object/attachment_serializer.rb +++ b/app/serializers/learning_object/attachment_serializer.rb @@ -34,6 +34,5 @@ class LearningObject::AttachmentSerializer < ActiveModel::Serializer :id_dspace, :thumbnail, :cache_link, - :learning_object_attachment_id, - :learning_object_attachment_id_son + :attachment_id end diff --git a/db/migrate/20171205120824_update_learning_object_attachments_foreign_key.rb b/db/migrate/20171205120824_update_learning_object_attachments_foreign_key.rb new file mode 100644 index 00000000..f9f6597e --- /dev/null +++ b/db/migrate/20171205120824_update_learning_object_attachments_foreign_key.rb @@ -0,0 +1,6 @@ +class UpdateLearningObjectAttachmentsForeignKey < ActiveRecord::Migration[5.0] + def change + remove_foreign_key :learning_object_attachments, :learning_object_attachments + add_foreign_key :learning_object_attachments, :learning_object_attachments, column: :attachment_id, on_delete: :cascade + end +end diff --git a/db/migrate/20171205140057_remove_learning_object_attachments_foreign_key_on_cascade.rb b/db/migrate/20171205140057_remove_learning_object_attachments_foreign_key_on_cascade.rb new file mode 100644 index 00000000..dc68cf30 --- /dev/null +++ b/db/migrate/20171205140057_remove_learning_object_attachments_foreign_key_on_cascade.rb @@ -0,0 +1,5 @@ +class RemoveLearningObjectAttachmentsForeignKeyOnCascade < ActiveRecord::Migration[5.0] + def change + remove_foreign_key :learning_object_attachments, :learning_object_attachments + end +end diff --git a/db/migrate/20180119174926_remove_attachment_id_for_learning_object_attachments.rb b/db/migrate/20180119174926_remove_attachment_id_for_learning_object_attachments.rb deleted file mode 100644 index 66dcafc6..00000000 --- a/db/migrate/20180119174926_remove_attachment_id_for_learning_object_attachments.rb +++ /dev/null @@ -1,7 +0,0 @@ -class RemoveAttachmentIdForLearningObjectAttachments < ActiveRecord::Migration[5.0] - def change - remove_index :learning_object_attachments, :attachment_id - remove_foreign_key :learning_object_attachments, :learning_object_attachments - remove_column :learning_object_attachments, :attachment_id - end -end diff --git a/db/migrate/20180123124526_add_foreign_key_to_learning_object_attachments.rb b/db/migrate/20180123124526_add_foreign_key_to_learning_object_attachments.rb deleted file mode 100644 index 159078d6..00000000 --- a/db/migrate/20180123124526_add_foreign_key_to_learning_object_attachments.rb +++ /dev/null @@ -1,8 +0,0 @@ -class AddForeignKeyToLearningObjectAttachments < ActiveRecord::Migration[5.0] - def change - add_column :learning_object_attachments, :learning_object_attachment_id, :integer - add_column :learning_object_attachments, :learning_object_attachment_id_son, :integer - add_foreign_key :learning_object_attachments, :learning_object_attachments, on_delete: :cascade - add_foreign_key :learning_object_attachments, :learning_object_attachments, column: :learning_object_attachment_id_son, on_delete: :nullify - end -end -- GitLab