2b9816d1a3
* Use registry.get_plugin() - Instead of registry.plugins.get() - get_plugin checks registry hash - performs registry reload if necessary * Add PluginValidationMixin class - Allows the entire model to be validated via plugins - Called on model.full_clean() - Called on model.save() * Update Validation sample plugin * Fix for InvenTreeTree models * Refactor build.models - Expose models to plugin validation * Update stock.models * Update more models - common.models - company.models * Update more models - label.models - order.models - part.models * More model updates * Update docs * Fix for potential plugin edge case - plugin slug is globally unique - do not use get_or_create with two lookup fields - will throw an IntegrityError if you change the name of a plugin * Inherit DiffMixin into PluginValidationMixin - Allows us to pass model diffs through to validation - Plugins can validate based on what has *changed* * Update documentation * Add get_plugin_config helper function * Bug fix * Bug fix * Update plugin hash when calling set_plugin_state * Working on unit testing * More unit testing * Move get_plugin_config into registry.py * Move extract_int into InvenTree.helpers * Fix log formatting * Update model definitions - Ensure there are no changes to the migrations * Comment out format line * Fix access to get_plugin_config * Fix tests for SimpleActionPlugin * More unit test fixes |
||
---|---|---|
.. | ||
_includes | ||
ci | ||
docs | ||
__init__.py | ||
.gitignore | ||
LICENSE | ||
main.py | ||
mkdocs.yml | ||
README.md | ||
requirements.txt |
InvenTree Documentation
This repository hosts the official documentation for InvenTree, an open source inventory management system.
To serve this documentation locally (e.g. for development), you will need to have Python 3 installed on your system.
Setup
Run the following commands from the top-level project directory:
$ git clone https://github.com/inventree/inventree
$ cd inventree/docs
$ pip install -r requirements.txt
Serve Locally
To serve the pages locally, run the following command (from the top-level project directory):
$ mkdocs serve -f docs/mkdocs.yml -a localhost:8080
Edit Documentation Files
Once the server is running, it will monitor the documentation files for any changes, and update the served pages.
Admonitions
"Admonition" blocks can be added as follow:
!!! info "This is the admonition block title"
This is the admonition block content
Refer to the reference documentation to customize the admonition block to the use-case (eg. warning, missing, info, etc.).
Internal Links
Links to internal documentation pages must use relative pathing, otherwise the link will be broken by the readthedocs URL formatting.
Also, linking to an internal page must use the .md
suffix!
For example, to link to the page /part/views
from /stock/stocktake
, the link must be formed as follows:
Click [here](../part/views.md)
Formatting the link as follows:
Click [here](/part/views)
will result in a broken link.
Images
Images are served from the ./docs/assets/images
folder and can be added as follow:
{% with id="image_id", url="folder/image_name.png", description="Text shown if image is not loaded properly" %}
{% include 'img.html' %}
{% endwith %}
Replace:
image_id
with a short unique identifier for the image (most commonly,image_id
is same asimage_name
)folder
with the folder indocs/assets/images
in which the image is storedimage_name
with the name of the image.png
with the image extension (PNG or JPEG are preferred formats)
Global variables
Refer to the reference documentation to find out how to add global variables to the documentation site.
Global variables should be added in the # Global Variables
section of the mkdocs.yml
configuration file.
Credits
This documentation makes use of the mkdocs-material template