From c44f315d63726ed45534642bbcf3e3b889a833b1 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sat, 6 Feb 2021 17:53:56 +1100 Subject: [PATCH] Add documentation for new report features --- .../images/report/report_debug_mode.png | Bin 0 -> 19812 bytes .../report/report_default_page_size.png | Bin 0 -> 19797 bytes docs/report/report.md | 32 ++++++++++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 docs/assets/images/report/report_debug_mode.png create mode 100644 docs/assets/images/report/report_default_page_size.png diff --git a/docs/assets/images/report/report_debug_mode.png b/docs/assets/images/report/report_debug_mode.png new file mode 100644 index 0000000000000000000000000000000000000000..86d2f0f554260ca009528a4325b03604b1e314e5 GIT binary patch literal 19812 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 literal 0 HcmV?d00001 diff --git a/docs/report/report.md b/docs/report/report.md index 4f4f5dc..fca460f 100644 --- a/docs/report/report.md +++ b/docs/report/report.md @@ -55,6 +55,34 @@ The django template system allows for conditional rendering, providing condition !!! info "Conditionals" Refer to the django documentation for more information. +## Report Options + +A number of global reporting options are available for customizing InvenTree reports: + +### Default Page Size + +The built-in InvenTree report templates (and any reports which are derived from the built-in templates) use the *Page Size* option to set the page size of the generated reports. + +{% with id="report_page_size", url="report/report_default_page_size.png", description="Report Page Size" %} +{% include 'img.html' %} +{% endwith %} + +!!! info "Override Page Size" + Custom report templates do not have to make use of the *Page Size* option, although it is made available to the template context. + +### Debug Mode + +As templates are rendered directly to a PDF object, it can be difficult to debug problems when the PDF does not render exactly as expected. + +Setting the *Debug Mode* option renders the template as raw HTML instead of PDF, allowing the rendering output to be introspected. This feature allows template designers to understand any issues with the generated HTML (before it is passed to the PDF generation engine). + +{% with id="report_debu_mode", url="report/report_debug_mode.png", description="Report Debug Mode" %} +{% include 'img.html' %} +{% endwith %} + +!!! warning "HTML Rendering Limitations" + When rendered in debug mode, @page attributes (such as size, etc) will **not** be observed. Additionally, any asset files stored on the InvenTree server will not be rendered. Debug mode is not intended to produce "good looking" documents! + ## Uploading Templates Custom report templates can be uploaded using the [Admin Interface](../../admin/admin). Only users with admin access can upload and/or edit report template files. @@ -126,10 +154,10 @@ For example, consider a stocktake report for a particular stock location, where {% endraw %} ``` -!!! note "Snippet Arguments" +!!! info "Snippet Arguments" Note above that named argument variables can be passed through to the snippet! -And the snippet (very simple for this example) is as follows: +And the snippet file `stock_row.html` is as follows: ```html {% raw %}