diff --git a/app/assets/javascripts/reports/reports_datatable.js b/app/assets/javascripts/reports/reports_datatable.js index e0d066559..e85d50cc6 100644 --- a/app/assets/javascripts/reports/reports_datatable.js +++ b/app/assets/javascripts/reports/reports_datatable.js @@ -360,6 +360,8 @@ }); } + $('#show_report_preview').click(); + initDatatable(); initUpdatePDFReport(); initGenerateDocxReport(); diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index cbb881125..725871cca 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -188,6 +188,7 @@ class ReportsController < ApplicationController respond_to do |format| format.json do @report.update!(pdf_file_processing: true) + log_activity(:generate_pdf_report) Reports::PdfJob.perform_later(@report, current_user) render json: { message: I18n.t('projects.reports.index.generation.accepted_message') @@ -200,6 +201,7 @@ class ReportsController < ApplicationController respond_to do |format| format.json do @report.update!(docx_file_processing: true) + log_activity(:generate_docx_report) Reports::DocxJob.perform_later(@report, current_user, current_team, root_url) render json: { message: I18n.t('projects.reports.index.generation.accepted_message') @@ -550,6 +552,7 @@ class ReportsController < ApplicationController end def generate_pdf_report + log_activity(:generate_pdf_report) Reports::PdfJob.perform_later(@report, current_user) if @report.persisted? end end diff --git a/app/helpers/global_activities_helper.rb b/app/helpers/global_activities_helper.rb index 4fe5e5c0f..9500988d4 100644 --- a/app/helpers/global_activities_helper.rb +++ b/app/helpers/global_activities_helper.rb @@ -96,7 +96,8 @@ module GlobalActivitiesHelper when Step return current_value when Report - path = reports_path(team: obj.team.id) + preview_type = activity.type_of == 'generate_docx_report' ? :docx : :pdf + path = reports_path(team: obj.team.id, preview_report_id: obj.id, preview_type: preview_type) when ProjectFolder path = if obj.new_record? projects_path(team: activity.team.id) diff --git a/app/views/global_activities/references/_report.html.erb b/app/views/global_activities/references/_report.html.erb index 9bcb7acef..e3fc38821 100644 --- a/app/views/global_activities/references/_report.html.erb +++ b/app/views/global_activities/references/_report.html.erb @@ -3,7 +3,7 @@
<% if subject %> - <%= route_to_other_team(reports_path(subject, team: subject.team.id), + <%= route_to_other_team(reports_path(subject, team: subject.team.id, preview_report_id: subject.id, preview_type: :pdf), team, subject.name&.truncate(Constants::NAME_TRUNCATION_LENGTH), title: subject.name) %> diff --git a/app/views/reports/index.html.erb b/app/views/reports/index.html.erb index 419604c23..084825a55 100644 --- a/app/views/reports/index.html.erb +++ b/app/views/reports/index.html.erb @@ -4,6 +4,10 @@ <%= stylesheet_link_tag 'datatables' %> +<% if params[:preview_report_id] %> + <%= hidden_field_tag :show_report_preview, nil, class: "file-preview-link", data: { preview_url: document_preview_report_path(params[:preview_report_id], report_type: params[:preview_type]) } %> +<% end %> +
<%= render partial: 'reports/index_header' %>
diff --git a/config/initializers/extends.rb b/config/initializers/extends.rb index 3520f1f5f..7d8682f85 100644 --- a/config/initializers/extends.rb +++ b/config/initializers/extends.rb @@ -381,7 +381,9 @@ class Extends create_project_folder: 159, move_project_folder: 160, rename_project_folder: 161, - delete_project_folder: 162 + delete_project_folder: 162, + generate_pdf_report: 163, + generate_docx_report: 164 } ACTIVITY_GROUPS = { @@ -392,7 +394,7 @@ class Extends task_protocol: [15, 22, 16, 18, 19, 20, 21, 17, 38, 39, 100, 111, 45, 46, 47, 121, 124, 115, 118, 127, 130, 137], task_inventory: [55, 56, 146, 147], experiment: [*27..31, 57], - reports: [48, 50, 49], + reports: [48, 50, 49, 163, 164], inventories: [70, 71, 105, 144, 145, 72, 73, 74, 102, 142, 143, 75, 76, 77, 78, 96, 107, 113, 114, *133..136], protocol_repository: [80, 103, 89, 87, 79, 90, 91, 88, 85, 86, 84, 81, 82, 83, 101, 112, 123, 125, 117, 119, 129, 131], diff --git a/config/locales/global_activities/en.yml b/config/locales/global_activities/en.yml index 7f9a6a28b..79d7e3a97 100644 --- a/config/locales/global_activities/en.yml +++ b/config/locales/global_activities/en.yml @@ -182,6 +182,8 @@ en: rename_project_folder_html: "%{user} renamed project folder %{project_folder}." delete_project_folder_html: "%{user} deleted project folder %{project_folder}." move_project_folder_html: "%{user} moved folder %{project_folder} from folder %{project_folder_from} to folder %{project_folder_to}." + generate_pdf_report_html: "%{user} generated PDF report %{report}." + generate_docx_report_html: "%{user} generated DOCX report %{report}." activity_name: create_project: "Project created" @@ -328,6 +330,8 @@ en: rename_project_folder: "Project folder renamed" delete_project_folder: "Project folder deleted" move_project_folder: "Project folder moved" + generate_pdf_report: "PDF Report generated" + generate_docx_report: "DOCX Report generated" activity_group: projects: "Projects"