diff --git a/app/services/reports/docx/draw_my_module_repository.rb b/app/services/reports/docx/draw_my_module_repository.rb index 692d909a7..3050b53b5 100644 --- a/app/services/reports/docx/draw_my_module_repository.rb +++ b/app/services/reports/docx/draw_my_module_repository.rb @@ -5,7 +5,8 @@ module Reports::Docx::DrawMyModuleRepository my_module = subject.my_module repository = subject.repository repository = assigned_repository_or_snapshot(my_module, repository) - return unless can_read_experiment?(@user, my_module.experiment) && + + return unless repository && can_read_experiment?(@user, my_module.experiment) && (repository.is_a?(RepositorySnapshot) || can_read_repository?(@user, repository)) repository_data = my_module.repository_docx_json(repository) diff --git a/app/views/reports/elements/_my_module_repository_element.html.erb b/app/views/reports/elements/_my_module_repository_element.html.erb index dcdb5c509..e826d41b5 100644 --- a/app/views/reports/elements/_my_module_repository_element.html.erb +++ b/app/views/reports/elements/_my_module_repository_element.html.erb @@ -1,43 +1,45 @@ <% my_module ||= report_element.my_module %> <% repository ||= report_element.repository %> -<% repository ||= assigned_repository_or_snapshot(my_module, repository) %> -<% rows_json = my_module.repository_json_hot(repository, :desc) %> -
-
-
-
- +<% repository = assigned_repository_or_snapshot(my_module, repository) %> +<% if repository %> + <% rows_json = my_module.repository_json_hot(repository, :desc) %> +
+
+
+
+ +
+
+ <%= t('projects.reports.elements.module_repository.name', repository: repository.name, my_module: my_module.name) %> + <%= t('projects.reports.index.deleted') if repository.is_a?(RepositorySnapshot) && !repository.original_repository %> +
+ <% if defined?(export_all) && export_all %> +
+ <% file_link = @obj_filenames.dig(:repositories, repository.id, :file) %> + + <%= t('projects.reports.elements.module_repository.table_name', name: file_link&.split('/')&.last) %> + +
+ <% end %>
-
- <%= t('projects.reports.elements.module_repository.name', repository: repository.name, my_module: my_module.name) %> - <%= t('projects.reports.index.deleted') if repository.is_a?(RepositorySnapshot) && !repository.original_repository %> -
- <% if defined?(export_all) && export_all %> -
- <% file_link = @obj_filenames.dig(:repositories, repository.id, :file) %> - - <%= t('projects.reports.elements.module_repository.table_name', name: file_link&.split('/')&.last) %> - +
+
+ <% if rows_json[:data].count > 0 %> + +
+
+ <% else %> +
+
+ <%= t('projects.reports.elements.module_repository.no_items') %> +
<% end %>
-
-
- <% if rows_json[:data].count > 0 %> - -
-
- <% else %> -
-
- <%= t('projects.reports.elements.module_repository.no_items') %> -
+ <% if defined?(children) %> +
+ <%= children %>
<% end %>
- <% if defined?(children) %> -
- <%= children %> -
- <% end %> -
+<% end %>