From 31ae9ffbdac0ecc7c89540020d5dab0fe226f41d Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Thu, 9 Jun 2022 14:13:29 +0200 Subject: [PATCH] Fix switching between views on experiment canvas [SCI-6879] --- app/controllers/canvas_controller.rb | 23 ++++++++++--------- .../canvas/medium_zoom/_my_module.html.erb | 2 +- .../canvas/small_zoom/_my_module.html.erb | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/controllers/canvas_controller.rb b/app/controllers/canvas_controller.rb index 0994a590a..dbc826d0f 100644 --- a/app/controllers/canvas_controller.rb +++ b/app/controllers/canvas_controller.rb @@ -13,21 +13,19 @@ class CanvasController < ApplicationController end def full_zoom - render partial: 'canvas/full_zoom', - locals: { experiment: @experiment, my_modules: @my_modules }, - :content_type => 'text/html' + @my_modules = @my_modules.left_outer_joins(:designated_users, :task_comments) + .select('COUNT(DISTINCT users.id) as designated_users_count') + .select('COUNT(DISTINCT comments.id) as task_comments_count') + .select('my_modules.*').group(:id) + render partial: 'canvas/full_zoom', locals: { experiment: @experiment, my_modules: @my_modules } end def medium_zoom - render partial: 'canvas/medium_zoom', - locals: { experiment: @experiment, my_modules: @my_modules }, - :content_type => 'text/html' + render partial: 'canvas/medium_zoom', locals: { experiment: @experiment, my_modules: @my_modules } end def small_zoom - render partial: 'canvas/small_zoom', - locals: { experiment: @experiment, my_modules: @my_modules }, - :content_type => 'text/html' + render partial: 'canvas/small_zoom', locals: { experiment: @experiment, my_modules: @my_modules } end def update @@ -195,7 +193,7 @@ class CanvasController < ApplicationController end def load_vars - @experiment = Experiment.find_by_id(params[:id]) + @experiment = Experiment.preload(user_assignments: %i(user user_role)).find_by(id: params[:id]) unless @experiment respond_to do |format| format.html { render_404 and return } @@ -203,7 +201,10 @@ class CanvasController < ApplicationController end end - @my_modules = @experiment.my_modules.active.preload(outputs: :to, user_assignments: %i(user user_role)) + @my_modules = @experiment.my_modules + .active + .preload(:tags, outputs: :to, user_assignments: %i(user user_role)) + .preload(:my_module_status, :my_module_group) end def check_edit_canvas diff --git a/app/views/canvas/medium_zoom/_my_module.html.erb b/app/views/canvas/medium_zoom/_my_module.html.erb index d770de1d0..4a279f187 100644 --- a/app/views/canvas/medium_zoom/_my_module.html.erb +++ b/app/views/canvas/medium_zoom/_my_module.html.erb @@ -22,7 +22,7 @@

- <%= link_to_if can_read_experiment?(my_module.experiment), my_module.name, protocols_my_module_path(my_module), title: my_module.name %> + <%= link_to_if can_read_experiment?(experiment), my_module.name, protocols_my_module_path(my_module), title: my_module.name %>

diff --git a/app/views/canvas/small_zoom/_my_module.html.erb b/app/views/canvas/small_zoom/_my_module.html.erb index 1a0a553fe..db313c08b 100644 --- a/app/views/canvas/small_zoom/_my_module.html.erb +++ b/app/views/canvas/small_zoom/_my_module.html.erb @@ -10,6 +10,6 @@ data-module-y="<%= my_module.y %>" data-module-conns="<%= construct_module_connections(my_module) %>"> - <%= link_to_if can_read_experiment?(my_module.experiment), my_module.name[0], protocols_my_module_path(my_module), title: my_module.name %> + <%= link_to_if can_read_experiment?(experiment), my_module.name[0], protocols_my_module_path(my_module), title: my_module.name %>