add transaction to move exp function

This commit is contained in:
Giga Chubinidze 2024-01-03 12:58:13 +04:00
parent cc8a10edb0
commit ebdeaf8b42

View file

@ -297,28 +297,31 @@ class ExperimentsController < ApplicationController
# POST: move_experiment(id)
def move
move_responses = []
move_response = nil
@experiments.each do |experiment|
@experiment = experiment
service = Experiments::MoveToProjectService
.call(experiment_id: experiment.id,
project_id: params[:project_id],
user_id: current_user.id)
if service.succeed?
flash[:success] = t('experiments.move.success_flash', experiment: experiment.name)
status = :ok
view_state = experiment.current_view_state(current_user)
view_type = view_state.state['my_modules']['view_type'] || 'canvas'
path = view_mode_redirect_url(view_type)
else
message = "#{service.errors.values.join('. ')}."
status = :unprocessable_entity
ActiveRecord::Base.transaction do
@experiments.each do |experiment|
@experiment = experiment
service = Experiments::MoveToProjectService
.call(experiment_id: experiment.id,
project_id: params[:project_id],
user_id: current_user.id)
if service.succeed?
flash[:success] = t('experiments.move.success_flash', experiment: experiment.name)
status = :ok
view_state = experiment.current_view_state(current_user)
view_type = view_state.state['my_modules']['view_type'] || 'canvas'
path = view_mode_redirect_url(view_type)
else
message = "#{service.errors.values.join('. ')}."
status = :unprocessable_entity
end
move_response = { message: message, path: path, status: status }
end
move_responses << {message: message, path: path, status: status }
end
render json: move_responses
render json: move_response
end
def move_modules_modal