diff --git a/app/datatables/sample_datatable.rb b/app/datatables/sample_datatable.rb index fcbd27fe1..2f646bb64 100644 --- a/app/datatables/sample_datatable.rb +++ b/app/datatables/sample_datatable.rb @@ -134,11 +134,18 @@ class SampleDatatable < AjaxDatatablesRails::Base @assigned_samples = @project.assigned_samples ids = @project.my_modules_ids - samples = samples.joins("LEFT OUTER JOIN sample_my_modules ON - (samples.id = sample_my_modules.sample_id AND - (sample_my_modules.my_module_id IN (#{ids}) OR - sample_my_modules.id IS NULL))") - .references(:sample_my_modules) + if ids.blank? + samples = samples.joins('LEFT OUTER JOIN sample_my_modules ON + (samples.id = sample_my_modules.sample_id AND + sample_my_modules.id IS NULL)') + .references(:sample_my_modules) + else + samples = samples.joins("LEFT OUTER JOIN sample_my_modules ON + (samples.id = sample_my_modules.sample_id AND + (sample_my_modules.my_module_id IN (#{ids}) OR + sample_my_modules.id IS NULL))") + .references(:sample_my_modules) + end elsif @experiment @assigned_samples = @experiment.assigned_samples ids = @experiment.my_modules.select(:id)