InvenTree/docs
Bobbe ae063d2722
Add basic support for scanning vendor barcodes (#5509)
* Add support for scanning digikey and mouser barcodes

* added small fixes if no part is found

* made small style cleanups

* Separate out ecia 2d barcode parser, Add quantity, PO number to response

* Use model instead of name for mouser supplier, add auto detection magic

* Add lcsc barcode support

* Move barcode plugins to new suppliers subdirectory

* Add get_supplier_part helper, Refactor plugins in preparation for #3791

* Add __init__.py to suppliers directory

* Improve formatting

* Add barcode integration tests

* Add api-barcode-po-receive endpoint

* Refactor supplier_barcode.py helpers into BarcodeMixin

* Implement the api-barcode-po-receive endpoint for all suppliers

* Always include lineitem in api response

* Fix location in response, only include quantity and location if set

* Check if barcode has already been assigned, Fix tests

* FIx quantity and location not being in lineitem reponse

* Use part.get_default_location() instead of part.default_location

* Fix fomatting again

* Fix type annotations for python 3.8

* Add get_supplier_part helper, check for barcode_data being a str

* Fix naming clash

* Clarify return type for scan_receive_item

* Improve model access using first() in two places

* Refactor a bunch of checks

* Improve selection of line item, if multiple line items match the SKU

* Add new api version for this PR

* Fix error if no line item exists

* Add debug print to investigate why tests are failing

* Remove the test print again

* Fix pre formatted log messages

* Test removing all plugins

* Test only with digikey plugin

* Test with all plugins, but without mouser "model" setting

* Test again without tests

* Test with simple tests

* Test with simple receive test

* Test with even more receive tests

* Test second receive test

* Test third receive test

* Test 4th receive test with debug prints

* Try deleting the stock item and stock locations

* Disable the test again

* Add SupplierBarcodeMixin to minimize shared code between plugins

* Add TME supplier barcode plugin

* Remove the TME tests again

* If this works the tests are broken, if this doesn't work the tests are broken too

* Add TME tests again

* Add back all tests again

* Fix TME purchase order number

* Fix TME qrcode regex

* Add documentation for this feature

* Fix TME qrcode regex

* Use Decimal instead of int for quantity

* Refactor get_supplier_parts, Add get_supplier method

* Improve docstrings

* Fix None type access

* FIx TME barcode detection, Improve supplier barcode handling

* Try to retrigger pipeline

* Refactor get_supplier_parts to not use lists

* Add DEFAULT_SUPPLIER_NAME to mouser plugin

* Add SUPPLIER_ID setting to other suppliers

* Fix supplier plugins not inheriting from settings mixin

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2023-10-19 23:28:21 +11:00
..
_includes remove unneeded gunicorn (#5248) 2023-07-17 20:53:02 +10:00
ci Documentation integration (#4653) 2023-04-22 22:40:29 +10:00
docs Add basic support for scanning vendor barcodes (#5509) 2023-10-19 23:28:21 +11:00
__init__.py Fixes for docs building (#4659) 2023-04-22 23:35:25 +10:00
.gitignore Documentation Improvements (#4894) 2023-05-25 22:42:16 +10:00
LICENSE Documentation integration (#4653) 2023-04-22 22:40:29 +10:00
main.py refactor: remove blank lines after docstring (#5736) 2023-10-18 07:28:57 +11:00
mkdocs.yml Added example for barcode plugin (#5670) 2023-10-17 10:24:05 +11:00
README.md Fix common spelling mistakes (#4956) 2023-06-04 00:04:52 +10:00
requirements.txt Pin mkdocs version to 1.4.3 (#5388) 2023-08-02 22:52:01 +10:00

InvenTree Documentation

Documentation Status

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.).

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 as image_name)
  • folder with the folder in docs/assets/images in which the image is stored
  • image_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