--- title: Helper Functions --- Some common functions are provided for use in custom report and label templates. To include these, load the `report` functions at the start of the template: ```html {% raw %} {% load report %} {% endraw %} ``` ## Maths Operations Simple mathematical operators are available, as demonstrated in the example template below: ```html {% raw %} {% load report %} {% add 1 3 %} {% subtract 4 3 %} {% multiply 1.2 3.4 %} {% divide 10 2 %} {% endraw %} ``` These operators can also be used with variables: ```html {% raw %} {% load report %} {% for line in order.lines %} Total: {% multiply line.purchase_price line.quantity %}
{% endfor %} {% endraw %} ``` ## Media Files *Media files* are any files uploaded to the InvenTree server by the user. These are stored under the `/media/` directory and can be accessed for use in custom reports or labels. ### Uploaded Images You can access an uploaded image file if you know the *path* of the image, relative to the top-level `/media/` directory. To load the image into a report, use the `{% raw %}{% uploaded_image ... %}{% endraw %}` tag: ```html {% raw %} {% load report %} {% endraw %} ``` !!! info "Missing Image" If the supplied image filename does not exist, it will be replaced with a placeholder image file !!! warning "Invalid Image" If the supplied file is not a valid image, it will be replaced with a placeholder image file ### Part images A shortcut function is provided for rendering an image associated with a Part instance. You can render the image of the part using the `{% raw %}{% part_image ... %}{% endraw %}` template tag: ```html {% raw %} {% load report %} {% endraw %} ``` ### Company Images A shortcut function is provided for rendering an image associated with a Company instance. You can render the image of the company using the `{% raw %}{% company_image ... %}{% endraw %}` template tag: ```html {% raw %} {% load report %} {% endraw %} ``` ## InvenTree Logo A template tag is provided to load the InvenTree logo image into a report. You can render the logo using the `{% raw %}{% logo_image %}{% endraw %}` tag: ```html {% raw %} {% load report %} {% endraw %} ``` ### Custom Logo If the system administrator has enabled a [custom logo](../start/config.md#customisation-options), then this logo will be used instead of the base InvenTree logo. This is a useful way to get a custom company logo into your reports. If you have a custom logo, but explicitly wish to load the InvenTree logo itself, add `custom=False` to the tag: ```html {% raw %} {% load report %} {% endraw %} ``` ## Report Assets [Report Assets](./report.md#report-assets) are files specifically uploaded by the user for inclusion in generated reports and labels. You can add asset images to the reports and labels by using the `{% raw %}{% asset ... %}{% endraw %}` template tag: ```html {% raw %} {% load report %} {% endraw %} ```