From 5d067077b1f433af574976b65b93512648e52e99 Mon Sep 17 00:00:00 2001 From: Urban Rotnik Date: Wed, 8 Jul 2020 10:48:29 +0200 Subject: [PATCH 1/2] Add logo and timestamp to PDF and Doc reports --- app/assets/images/logo.png | Bin 4652 -> 3767 bytes app/assets/stylesheets/reports_pdf.scss | 30 +++++++++++++++++ app/controllers/reports_controller.rb | 4 ++- app/services/reports/docx/private_methods.rb | 13 ++++++++ app/views/reports/footer.pdf.erb | 17 ++++++++++ app/views/reports/header.pdf.erb | 33 +++++++++++++++++++ config/locales/en.yml | 2 ++ 7 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 app/views/reports/footer.pdf.erb create mode 100644 app/views/reports/header.pdf.erb diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png index b368cd36d776fc7eba12a74c515b31b7a86fa503..6d54bb8822e2aa114470b816f849be621d9266aa 100644 GIT binary patch literal 3767 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 literal 4652 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 + + + + <%= wicked_pdf_stylesheet_link_tag "application" %> + <%= wicked_pdf_stylesheet_link_tag "reports_pdf" %> + <%= bootstrap_cdn_link_tag %> + <%= font_awesome_cdn_link_tag %> + + + + + diff --git a/app/views/reports/header.pdf.erb b/app/views/reports/header.pdf.erb new file mode 100644 index 000000000..c06c7551d --- /dev/null +++ b/app/views/reports/header.pdf.erb @@ -0,0 +1,33 @@ + + + + + <%= wicked_pdf_stylesheet_link_tag "application" %> + <%= wicked_pdf_stylesheet_link_tag "reports_pdf" %> + <%= bootstrap_cdn_link_tag %> + <%= font_awesome_cdn_link_tag %> + + + + + + + diff --git a/config/locales/en.yml b/config/locales/en.yml index c9dbc69c8..d4737baba 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -429,6 +429,8 @@ en: here: "here" no_columns: "You do not have File columns in selected Inventory. Add a File column to selected Inventory or select another Inventory containing File columns." nothing_selected: "Nothing selected" + generate_PDF: + generated_on: "Report generated by SciNote on: %{timestamp}" elements: modals: project_contents: From 2e1d1cc210f570e8bd8825b6a76a88b935843108 Mon Sep 17 00:00:00 2001 From: Urban Rotnik Date: Wed, 8 Jul 2020 11:35:25 +0200 Subject: [PATCH 2/2] Clean styles --- app/services/reports/docx/private_methods.rb | 42 ++------------------ 1 file changed, 4 insertions(+), 38 deletions(-) diff --git a/app/services/reports/docx/private_methods.rb b/app/services/reports/docx/private_methods.rb index 82916d130..71018f528 100644 --- a/app/services/reports/docx/private_methods.rb +++ b/app/services/reports/docx/private_methods.rb @@ -247,51 +247,17 @@ module Reports::Docx::PrivateMethods br end - generate_html_styles end def generate_html_styles @docx.style do - id 'h1' - name 'h1' - bold true - size 64 - end - - @docx.style do - id 'h2' - name 'h2' - bold true - size 48 - end - - @docx.style do - id 'h3' - name 'h3' - bold true + id 'Heading1' + name 'heading 1' + font 'Arial' size 36 - end - - @docx.style do - id 'h4' - name 'h4' + bottom 120 bold true - size 32 - end - - @docx.style do - id 'h5' - name 'h5' - bold true - size 26 - end - - @docx.style do - id 'h6' - name 'h6' - bold true - size 24 end @link_style = {