From 17d330814186f4a249612bd4817c943fdca8b764 Mon Sep 17 00:00:00 2001 From: luandalmazo <lmtd21@inf.ufpr.br> Date: Thu, 1 Dec 2022 09:11:05 -0300 Subject: [PATCH] Issue #29: FIX draft attributes --- app/controllers/v1/learning_objects_controller.rb | 11 +++++++++-- app/models/concerns/subjectable.rb | 1 - 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/controllers/v1/learning_objects_controller.rb b/app/controllers/v1/learning_objects_controller.rb index 7d606b3fb..b33b8593c 100644 --- a/app/controllers/v1/learning_objects_controller.rb +++ b/app/controllers/v1/learning_objects_controller.rb @@ -75,6 +75,12 @@ class V1::LearningObjectsController < ApplicationController # PATCH/PUT /learning_objects/1.json def update lo_params = learning_object_params + language_ids_lo = params[:language_ids] + @learning_object.language_ids = language_ids_lo + current_user.tag(@learning_object, with: params[:tags].map { |t| t['name'] }) + @learning_object.add_educational_stages(ids: params[:educational_stages]) unless params[:educational_stages].nil? + @learning_object.update_subjects(ids: params[:subjects]) unless params[:subjects].nil? + if !lo_params[:object_type_id].blank? && lo_params[:object_type_id] != @learning_object.object_type_id && lo_params[:link].blank? change_object_type_id = true end @@ -98,6 +104,7 @@ class V1::LearningObjectsController < ApplicationController # DELETE /learning_objects/1 # DELETE /learning_objects/1.json def destroy + @learning_object.update(state: LearningObject.states[:deleted]) @learning_object.destroy response = { 'status': 'deleted' } render status: :ok, json: response @@ -162,8 +169,8 @@ class V1::LearningObjectsController < ApplicationController elsif !extra_params[:tags].nil? current_user.tag(learning_object, with: extra_params[:tags].map { |t| t['name'] }) end - learning_object.add_subjects(ids: extra_params[:subjects]) unless extra_params[:subjects].nil? - learning_object.add_educational_stages(ids: extra_params[:educational_stages]) unless extra_params[:educational_stages].nil? + learning_object.add_subjects(ids: params[:subjects]) unless params[:subjects].nil? + #learning_object.add_educational_stages(ids: extra_params[:educational_stages]) unless extra_params[:educational_stages].nil? if change_object_type_id learning_object.link = nil diff --git a/app/models/concerns/subjectable.rb b/app/models/concerns/subjectable.rb index 544af2a09..525fab26f 100644 --- a/app/models/concerns/subjectable.rb +++ b/app/models/concerns/subjectable.rb @@ -32,7 +32,6 @@ module Subjectable def add_subjects(ids: []) ids.each do |subject_id| subject = Subject.find(subject_id) - SubjectRelation.where(subject: subject, subjectable: self).first_or_create self.subjects << subject end end -- GitLab