[plugin] Auto issue orders (#9565)

* Add builtin plugin for auto-issuing orders

* Add plugin to auto-issue orders

* Add placeholder documentation

* Fix typo

* Adds image macro

- To replace img.html
- includes checking if file exists

* Fix tooltips

* More docs

* Adjust plugin settings filters

* docs

* More docs

* More docs

* Updates

* Less restrictive URL checking

* Refactor build order page

* Fix typo

* Allow 429

* Debug output

* More debug

* Construct assets dir

* Cleanup

* Update docs README

* Refactoring more pages

* Fix image link

* Fix SSO settings

* Add hook to check for missing settings

- Ensure that all settings are documented!

* Add missing user settings

* Update docstring

* Tweak SSO.md

* Image updates

* More updates

* Tweaks

* Exclude orders without a target_date

* Fix for issuing build orders

* Further refactoring

* Fixes

* Image refactoring

* More refactoring

* More refactoring

* Refactor app images

* Fix pathing issues

* Suppress some openapidocs warnings in logs

(much easier to debug docs build issues)

* Fix image reference

* Reduce error messages

* Fix image links

* Fix image links

* Reduce docs log output

* Ensure settings are loaded before displaying them

* Fix for UI test

* Fix unit test

* Test tweaks
This commit is contained in:
Oliver
2025-06-03 17:07:12 +10:00
committed by GitHub
parent 89f8f132e1
commit 11ab0203b1
124 changed files with 1178 additions and 957 deletions
+2 -8
View File
@@ -119,15 +119,11 @@ To render a QR code, use the `qrcode` template tag:
which produces the following output:
{% with id="qrcode", url="report/qrcode.png", description="QR Code" %}
{% include 'img.html' %}
{% endwith %}
{{ image("report/qrcode.png", "QR Code") }}
!!! tip "Documentation"
Refer to the [qrcode library documentation](https://pypi.org/project/qrcode/) for more information
## Data Matrix
!!! info "ppf.datamatrix"
@@ -173,6 +169,4 @@ which produces the following output:
which produces the following output:
{% with id="datamatrix", url="report/datamatrix.png", description="Datamatrix barcode" %}
{% include 'img.html' %}
{% endwith %}
{{ image("report/datamatrix.png", "Data Matrix") }}
+5 -15
View File
@@ -57,9 +57,7 @@ Report and label templates can be created (and edited) via the [admin interface]
Select the type of template you are wanting to create (a *Report Template* or *Label Template*) and press the *Add* button in the top right corner:
{% with id="report-list", url="report/report_template_admin.png", description="Report templates in admin interface" %}
{% include 'img.html' %}
{% endwith %}
{{ image("report/report_template_admin.png", "Report template admin") }}
!!! tip "Staff Access Only"
Only users with staff access can upload or edit report template files.
@@ -84,9 +82,7 @@ The filename pattern used to generate the output `.pdf` file. Defaults to "repor
The filename pattern allows custom rendering with any context variables which are available to the report. For example, a test report for a particular [Stock Item](../stock/index.md#stock-item) can use the part name and serial number of the stock item when generating the report name:
{% with id="report-filename-pattern", url="report/filename_pattern.png", description="Report filename pattern" %}
{% include 'img.html' %}
{% endwith %}
{{ image("report/filename_pattern.png", "Report filename pattern") }}
### Template Filters
@@ -95,15 +91,11 @@ Each template instance provides a *filters* field, which can be used to filter w
As an example, let's say that a certain `StockItem` report should only be generated for "trackable" stock items. A filter could easily be constructed to accommodate this, by limiting available items to those where the associated [Part](../part/index.md) is *trackable*:
{% with id="report-filter-valid", url="report/filters_valid.png", description="Report filter selection" %}
{% include 'img.html' %}
{% endwith %}
{{ image("report/filters_valid.png", "Report filter selection") }}
If you enter an invalid option for the filter field, an error message will be displayed:
{% with id="report-filter-invalid", url="report/filters_invalid.png", description="Invalid filter selection" %}
{% include 'img.html' %}
{% endwith %}
{{ image("report/filters_invalid.png", "Report filter error") }}
!!! warning "Advanced Users"
Report filtering is an advanced topic, and requires a little bit of knowledge of the underlying data structure!
@@ -116,9 +108,7 @@ A JSON field made available to any [plugins](../plugins/index.md) - but not used
A number of global reporting options are available for customizing InvenTree reports:
{% with id="report-options", url="report/report.png", description="Report Options" %}
{% include 'img.html' %}
{% endwith %}
{{ image("report/report.png", "Report options") }}
### Enable Reports
+1 -3
View File
@@ -19,9 +19,7 @@ A label template is a single `.html` file which is uploaded to the InvenTree ser
Below is a reasonably simple example of a label template which demonstrates much of the available functionality. The template code shown below will produce the following label:
{% with id="label_example", url="report/label_example.png", description="Example label" %}
{% include 'img.html' %}
{% endwith %}
{{ image("report/label_example.png", "Example label") }}
```html
{% raw %}