mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-12-26 01:35:34 +08:00
Skip inaccessible elements when generating reports [SCI-6109] (#3569)
This commit is contained in:
parent
4f4ab05740
commit
63923f0e63
3 changed files with 12 additions and 2 deletions
|
@ -2,8 +2,16 @@
|
|||
|
||||
module ReportsHelper
|
||||
include StringUtility
|
||||
include Canaid::Helpers::PermissionsHelper
|
||||
|
||||
def render_report_element(element, provided_locals = nil)
|
||||
case element.type_of
|
||||
when 'experiment'
|
||||
return unless can_read_experiment?(element.report.user, element.experiment)
|
||||
when 'my_module'
|
||||
return unless can_read_my_module?(element.report.user, element.my_module)
|
||||
end
|
||||
|
||||
# Determine partial
|
||||
view = "reports/elements/#{element.type_of}_element.html.erb"
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ module ReportActions
|
|||
|
||||
def generate_experiment_content(experiment_id, my_module_ids)
|
||||
experiment = Experiment.find_by(id: experiment_id)
|
||||
return if !experiment && !can_read_experiment?(@user, experiment)
|
||||
return unless experiment && can_read_experiment?(@user, experiment)
|
||||
|
||||
experiment_element = save_element!({ 'experiment_id' => experiment.id }, :experiment, nil)
|
||||
generate_my_modules_content(experiment, experiment_element, my_module_ids)
|
||||
|
@ -79,6 +79,8 @@ module ReportActions
|
|||
.active
|
||||
.where(id: my_module_ids)
|
||||
my_modules.sort_by { |m| my_module_ids.index m.id }.each do |my_module|
|
||||
next unless can_read_my_module?(@user, my_module)
|
||||
|
||||
my_module_element = save_element!({ 'my_module_id' => my_module.id }, :my_module, experiment_element)
|
||||
|
||||
@repositories.each do |repository|
|
||||
|
|
|
@ -7,7 +7,7 @@ module Reports::Docx::DrawMyModule
|
|||
scinote_url = @scinote_url
|
||||
my_module = subject.my_module
|
||||
tags = my_module.tags
|
||||
return unless can_read_experiment?(@user, my_module.experiment)
|
||||
return unless can_read_my_module?(@user, my_module)
|
||||
|
||||
@docx.h3 my_module.name, italic: false, size: Constants::REPORT_DOCX_MY_MODULE_TITLE_SIZE
|
||||
@docx.p do
|
||||
|
|
Loading…
Reference in a new issue