2019-07-01 16:14:16 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-09-17 16:50:01 +08:00
|
|
|
module Reports::Docx::DrawResultAsset
|
2023-02-01 19:01:18 +08:00
|
|
|
def draw_result_asset(result, settings)
|
2019-07-01 16:14:16 +08:00
|
|
|
asset = result.asset
|
|
|
|
timestamp = asset.created_at
|
2020-11-11 22:48:00 +08:00
|
|
|
asset_url = Rails.application.routes.url_helpers.asset_download_url(asset)
|
2019-07-08 18:51:26 +08:00
|
|
|
color = @color
|
2019-07-01 16:14:16 +08:00
|
|
|
@docx.p
|
2022-07-20 16:12:38 +08:00
|
|
|
|
|
|
|
begin
|
|
|
|
Reports::DocxRenderer.render_asset_image(@docx, asset) if asset.previewable? && !asset.list?
|
|
|
|
rescue StandardError => e
|
|
|
|
Rails.logger.error e.message
|
|
|
|
@docx.p do
|
|
|
|
text I18n.t('projects.reports.index.generation.file_preview_generation_error'), italic: true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-07-01 16:14:16 +08:00
|
|
|
@docx.p do
|
2019-07-12 19:48:14 +08:00
|
|
|
text result.name, italic: true
|
2020-11-11 22:48:00 +08:00
|
|
|
text ' '
|
|
|
|
link I18n.t('projects.reports.elements.download'), asset_url do
|
|
|
|
italic true
|
|
|
|
end
|
2022-08-02 16:06:00 +08:00
|
|
|
text " #{I18n.t('search.index.archived')} ", bold: true if result.archived?
|
2019-08-09 20:56:00 +08:00
|
|
|
text ' ' + I18n.t('projects.reports.elements.result_asset.file_name', file: asset.file_name)
|
2019-07-12 19:48:14 +08:00
|
|
|
text ' ' + I18n.t('projects.reports.elements.result_asset.user_time',
|
2019-09-12 15:02:45 +08:00
|
|
|
user: result.user.full_name, timestamp: I18n.l(timestamp, format: :full)), color: color[:gray]
|
2023-02-01 19:01:18 +08:00
|
|
|
|
|
|
|
if settings.dig(:task, :file_results_previews) && ActiveStorageFileUtil.previewable_document?(asset&.file&.blob)
|
|
|
|
text " #{I18n.t('projects.reports.elements.result_asset.full_preview_attached')}", color: color[:gray]
|
|
|
|
end
|
2019-07-01 16:14:16 +08:00
|
|
|
end
|
|
|
|
|
2021-05-21 22:35:23 +08:00
|
|
|
draw_result_comments(result) if @settings.dig('task', 'result_comments')
|
2019-07-01 16:14:16 +08:00
|
|
|
end
|
|
|
|
end
|