Commit Graph

249 Commits

Author SHA1 Message Date
Matthias Mair
faac6b6bf5
refactor: remove blank lines after docstring (#5736)
There shouldn't be any blank lines after the function docstring.
Remove the blank lines to fix this issue.

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2023-10-18 07:28:57 +11:00
Matthias Mair
158a209a0f
Version bump (#5740)
* Updated all dependencies

* fixed some spelling errors

* More spelling corrections

* Fixes for changes in react-query
2023-10-18 07:27:28 +11:00
Oliver
997b2ad569
Remove --no-frontend option (#5568)
- Until the new frontend is fully ready to be shipped, adding this option only serves to confuse users (and break the install process potentially)
- Remove this option entirely from the invoke script
- Update documentation accordingly
2023-10-18 00:21:26 +11:00
Oliver
c74368f805
Fix typo (#5715)
* Fix typo

getSpashScren -> getSplashScreen

* Cleanup docs
2023-10-17 12:12:22 +11:00
Michael
f409cd6894
Added example for barcode plugin (#5670)
* Added example for barcode plugin

* Add some words in stock location reports

* Correct error in link

* Correct error in link

* Typo in link

* Style in code example
2023-10-17 10:24:05 +11:00
Oliver
01f30222eb
Update docker production guide (#5701)
- Fixes https://github.com/inventree/InvenTree/issues/5655
2023-10-16 12:43:10 +11:00
Oliver
6f2dca729d
Report orientation (#5678)
* Add helper functions for report generation

* Add new fields to Report model:

- page_size (default = A4)
- landscape (default = False)

* Add migration for InvenTree reports

* Enable landscape printing
2023-10-09 13:25:53 +11:00
Oliver
c7eb90347a
Exchange rate plugin (#5667)
* Add plugin mixin class for supporting exchange rates

* Split some mixin classes out into their own files

- mixins.py is becoming quite bloated!

* Add some new settings for controlling currency updates

* Adds basic plugin implementation

* Refactor existing implementation

- Builtin plugin uses frankfurter.app API
- Better error / edge case handlign

* Add sample plugin for currency exchange

* Allow user to select which plugin to use for plugin updates

* Observe user-configured setting for how often exchange rates are updated

* Updates for some of the sample plugins

* Fix plugin slug

* Add doc page

* Document simple example

* Improve sample

* Add blank page for currency settings info

* More info in "config" page

* Update docs again

* Updated unit tests

* Fill out default settings values when InvenTree runs

* Add log messages

* Significant improvement in default settings speed

- Use bulk create
- Be efficient
- Dont' be inefficient

* More strict checks

* Refactor default values implementation

- Don't run at startup
- Run on list API
- Implement generic @classmethod
2023-10-05 21:19:28 +11:00
Lukas
8ec04028d5
Native LDAP support (#5226)
* Added basic ldap support

* Added new settings to config template

* Added missing apk dependency to dockerfile

* update requirements.txt

* Remove requirements and added docs

* Update advanced.md

* Added more ldap options

* allow direct bind
* add ldap debug mode
* add ldap global_options
* add start_tls
* use get_boolean_setting

* Update advanced.md to use a warning box

* fix: style

* Update advanced.md

* Remove ldap install instructions for non docker installs
2023-10-05 07:52:36 +11:00
Oliver Lippert
46b0d77418
Let plugins decide if events should be processed or not (#5618)
* add wants_process_event to EventMixin

in register_event this function get called and the task is just offload if the plugin returns true

* add tests for wants_process_event

* fix comments for register_event after code changes

* add documentation for EventMixin.wants_process_event

* avoid pre-formatting log messages

---------

Co-authored-by: Oliver Lippert <oliver@lipperts-web.de>
2023-10-01 21:10:26 +11:00
Oliver Lippert
7fa0c6d280
Add worker task to VS Code (#5605)
* add worker task to vscode

* add documentation for devcontainer backgorund workers

* fix misphrased sentence ("want need" -> "need")

---------

Co-authored-by: Oliver Lippert <oliver@lipperts-web.de>
2023-10-01 21:06:34 +11:00
Oliver
dad240529d
Adds optional config setting to enable database level logging (#5617) 2023-09-25 16:54:17 +10:00
Oliver
202dd6b4a1
Update context_variables.md (#5581)
Fix typo made when fixing a typo
2023-09-21 09:45:25 +10:00
Oliver
459d38cfc2
Update context_variables.md (#5580)
Fix typo "path_string" -> "pathstring"
2023-09-21 09:39:37 +10:00
saharshtapi
c741bfe39d
Typo Fixed (#5501) 2023-09-04 23:44:45 +10:00
Matthias Mair
7d5ff1d5bd
fixed allauth docs links (#5486) 2023-08-28 09:31:04 +10:00
Oliver
a5f6a05c1f
Fix docker instructions (#5479) 2023-08-25 23:15:08 +10:00
Peter Kopias
58e06ba1cb
Add comments and warnings to documentation so readers would follow the correct version (#5431)
* add warning to use stable docs for stable docker_prod.md

* add notification and documentation column to different versions in docker.md
2023-08-15 09:54:19 +10:00
Peter Kopias
6707f18f73
Update migrate.md to handle exporting json via docker volume (#5428) 2023-08-11 13:04:09 +10:00
Matthias Mair
131442b6c7
fixes small style error in panel.md (#5404) 2023-08-07 09:50:20 +10:00
Michael
e1abe5be40
Added docs on the panel plugin example (#5402)
* added docu and image for panel plugin example

* format
2023-08-06 21:49:29 +10:00
Oliver
eeabc8d1f9
Pin mkdocs version to 1.4.3 (#5388)
- Updates to readthedocs policy mean that this needs to be pinned
- Moving to 1.5.0 breaks current documentation set
2023-08-02 22:52:01 +10:00
Oliver
bfedb9cf87
Email config fix (#5336)
* Change for DEFAULT_FROM_EMAIL

- Use USERNAME if not specified

(cherry picked from commit 487ac917c90e9fe3da4effaa9326b707ceecd321)

* Email configuration fails if DEFAULT_FROM_EMAIL not set

(cherry picked from commit 01e573c3a2702e7c21ed13b0cb44280c89d3dee1)

* Docs update
2023-07-25 11:41:17 +10:00
Matthias Mair
507205ca78
Add DIO identifier (#5312)
* Add info for installer, branch, publisher

* include version info

* fix permissions

* fix typo

* add more info

* use GH url

* fix node

* remove publisher

* remove more logging

* Add info to version view

* enable branch discovery when not set

* fix ref to github version

* add branch to about dialog

* use precise plattform information - if no env is set

* fix ref names

* load VERSION info

* rename plattform to target

* extend installer var

* add generic plattform info

* add docs for version info

* add more info

* add installer codes

* Add DIO code
2023-07-23 09:09:28 +10:00
Matthias Mair
2259de7f31
P UI: Added frontend publishing for bare-metal (git) (#5277)
* Add SPA views for react #2789

* split up frontend urls

* Add settings for frontend url loading

* add new UI scaffold

* remove tracking insert

* add platform app

* ensure static indexes work too

* add lingui

* add lingui config

* add mgmt tasks

* add base locales

* settings for frontend dev

* fix typo

* update deps

* add pre-commit

* add eslint

* add testing scaffold

* fix paths

* remove error - tests trip correctly

* merge workflow

* cleanup samples

* use name inline with other tests

* Add real worl frontend tests

* setup env

* tun migrations first

* optimize setup time

* setup demo dataset

* optimize run setup

* add test for class ui

* rename

* fix typo

* and another typo

* do install

* run migrations first

* fix name

* cleanup

* use other credentials

* use other credentials

* fix qc

* move envs to qc

* remove create_site

* reduce testing env

* fix test

* fix test call

* allaccess user

* add ui plattform check

* add better check

* remove unneeded env

* enable debug

* reduce wait time

* also build frontend on static

* add sort plugin

* fix order

* run pre-commit fixes

* add node min version

* Docker container (#129)

* Fix allocation check for completing build order (#5199)

- Allocation check only applies to untracked line items

* docker dev

Install required node packages to docker development image

* add import order settings

* cleanout built ui

* remove default arg from build

* remove eslint

* optimize svg

* add build step for plattform UI

* fix install command

* use alpine commands

* do not use cache when creating image

* Added release pipeline

* trigger: ci

* Fix ci

* Fix ci

* Fix ci

* fix: workflow

* fix: workflow

* fix: doubble zipping

* fix: doubble zipping

* fix: doubble zipping

* fix: doubble zipping

* fix: doubble zipping

* Added frontend-download helper to tasks.py

* revert unrelated change

* Add frontend step to update task

* add frontend stuff to version info

* small change to trigger ci

* keep terminal output clean

* return found versions

* fix suggested command

* revert small change

* move to multiline

* add flag to stop frontend compile

* make node building optional on static

* add node trans to transalte task

* ammend commands to use new flag

* remove unneeded flag

* add warning

* add yarn bypass

* docstrings

* check for docker env

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: wolflu05 <76838159+wolflu05@users.noreply.github.com>
2023-07-20 10:12:08 +10:00
Oliver
6d3978ea28
Add database model for defining custom units (#5268)
* Add database model for defining custom units

- Database model
- DRF serializer
- API endpoints

* Add validation hook

* Custom check for the 'definition' field

* Add settings page for custom units

- Table of units
- Create / edit / delete buttons

* Allow "unit" field to be empty

- Not actually required for custom unit definition

* Load custom unit definitions into global registry

* Docs: add core concepts page(s)

* Add some back links

* Update docs

* Add unit test for custom unit conversion

* More unit testing

* remove print statements

* Add missing table rule
2023-07-19 06:24:16 +10:00
Sébastien APP
5862c70b24
Update python.md (#5264)
Just a typo corrected in a script sample.
2023-07-18 09:04:58 +10:00
Oliver
e8d16298a4
Label plugin refactor (#5251)
* Add skeleton for builtin label printing plugin

* Force selection of plugin when printing labels

* Enhance LabelPrintingMixin class

- Add render_to_pdf method
- Add render_to_html method

* Enhance plugin mixin

- Add class attribute to select blocking or non-blocking printing
- Add render_to_png method
- Add default method for printing multiple labels
- Add method for offloding print job

* Simplify print_label background function

- All arguments now handled by specific plugin

* Simplify label printing API

- Simply pass data to the particular plugin
- Check result type
- Return result

* Updated sample plugin

* Working on client side code

* Cleanup

* Update sample plugin

* Add new model type

- LabelOutput model
- Stores generated label file to the database
- Makes available for download

* Update label printing plugin mixin

* Add background task to remove any old label outputs

* Open file if response contains filename

* Remove "default printer" option which does not specify a plugin

* Delete old labels after 5 days

* Remove debug statements

* Update API version

* Changed default behaviour to background printing

* Update label plugin mixin docs

* Provide default printer if none provided (legacy)

* Update unit test

* unit test updates

* Further fixes for unit tests

* unit test updates
2023-07-17 21:39:53 +10:00
Matthias Mair
4d7fb751eb
remove unneeded gunicorn (#5248) 2023-07-17 20:53:02 +10:00
Oliver
370021bc7c
Update docs to match reality (#5255) 2023-07-15 23:55:22 +10:00
Lukas
0aee2a11c4
Fix weasyprint links (#5244)
* Fix weasyprint links

* Update report.md
2023-07-13 18:31:05 +02:00
Lukas
ee274739a6
Added required attribute to settings/plugins, refactor: allValues (#5224)
* Added required attribute to settings/plugins, refactor: allValues

- added 'required' attribute to InvenTreeBaseSetting
- added 'check_all_settings'
- added 'all_settings' to get a list of all defined settings
- refactored 'allValues' to use new 'all_settings' function
- added docs for new 'check_setting' function on plugin SettingsMixin

* Fix typing to be compatible with python 3.9

* trigger: ci

* Fixed **kwargs bug and added tests
2023-07-12 08:19:19 +10:00
Lukas
24ae21b342
Fix 404 link in docker_prod.md (#5193) 2023-07-07 08:12:50 +10:00
Oliver
3bea809823
Unit check option (#5175)
* Add option to control parameter units

* Check setting before validation

* Update part parameter settings page

* Update unit tests

* Update docs
2023-07-05 11:11:19 +10:00
Ritchie Poh
3ea5a36044
Update config.md (#5144)
Possible spelling error for INVENTREE_TIMEZONE env variable
2023-07-04 11:39:49 +10:00
Alexandre NICOLAIE
7e6409cd92
Update config.md (#5141)
* Change the description of `File Storage Locations` variables

* Remove `INVENTREE_BACKUP_DIR` that is already explain on the backup documentation and bellow in this documentation
2023-07-04 10:57:02 +10:00
Lavissa
940fa74365
Update docker dev docs (#4743)
* Change docker dev server install

* Added --rm to docker compose run commands
  This deletes the one-time-use container after exiting

* Added --dev to setup-test. This runs setup-dev as a part of
  setup-test.

* Revisions

* Updates

* Add context

* Update docs

* Tyops :)

* Remove reference to action that has not happened yet
2023-06-26 17:10:58 +10:00
Oliver
f6420f98c2
Simplify release notes docs (#5063) 2023-06-17 21:56:26 +10:00
Lavissa
bf707766b6
[Feature] Company Addresses (#4732)
* Add initial model structure

* Initial Address model defined

* Add migration and unit tests

* Initial migration for Address model generated

* Unit tests for Address model added

* Move address field to new model

* Added migration to move address field to Address model

* Implement address feature to backend

* API endpoints for list and detail implemented

* Serializer class for Address implemented

* Final migration to delete old address field from company added

* Tests for API and migrations added

* Amend migration file names

* Fix migration names in test

* Add address property to company model

* Iinital view and JS code

* Fix indents

* Fix different things

* Pre-emptive change before merge

* Post-merge fixes

* dotdotdot...

* ...

* iDots

* .

* .

* .

* Add form functionality and model checks

* Forms require a confirmation slider to be checked to submit
  if address is selected as primary

* Backend resets primary address before saving if new address
  is designated as primary

* Fix pre-save logic to enforce primary uniqueness

* Fix typos

* Sort out migrations

* Forgot one

* Add admin entry and small fixes

* Fix migration file name and dependency

* Update InvenTree/company/models.py

Co-authored-by: Matthias Mair <code@mjmair.com>

* Update InvenTree/company/models.py

Co-authored-by: Matthias Mair <code@mjmair.com>

* Correct final issues

* .

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2023-06-17 21:55:25 +10:00
Oliver
31ff3599eb
Parameter by name (#5055)
* Add method get_parameter

- Return a parameter for a part, on name

* Add unit test for new method

* Adds template tag to retrieve parameter based on name

* Update docs
2023-06-16 12:14:17 +10:00
Oliver
8d16abcefb
Build line labels (#5034)
* Adds BuildLineLabel model

- New type of label for printing against BuildLine objects

* Add serializer for new model

* Add API endpoints for new label type

* Add hooks to BuildLine table

* Create default label

- Create an example BuildLineLabel object

* Add admin integration

* Fix js code

* Use two-tiered template

- Allows base template to be updated

* Improve default label

* Add docs pages for labels

* Update nav

* Documentation for new label

* Add permission role

* Bump API version
2023-06-14 13:07:18 +10:00
Oliver
c8365ccd0c
Update app docs (#5032) 2023-06-13 21:04:17 +10:00
Oliver
6ba777d363
Build Order Updates (#4855)
* Add new BuildLine model

- Represents an instance of a BOM item against a BuildOrder

* Create BuildLine instances automatically

When a new Build is created, automatically generate new BuildLine items

* Improve logic for handling exchange rate backends

* logic fixes

* Adds API endpoints

Add list and detail API endpoints for new BuildLine model

* update users/models.py

- Add new model to roles definition

* bulk-create on auto_allocate

Save database hits by performing a bulk-create

* Add skeleton data migration

* Create BuildLines for existing orders

* Working on building out BuildLine table

* Adds link for "BuildLine" to "BuildItem"

- A "BuildItem" will now be tracked against a BuildLine
- Not tracked directly against a build
- Not tracked directly against a BomItem
- Add schema migration
- Add data migration to update links

* Adjust migration 0045

- bom_item and build fields are about to be removed
- Set them to "nullable" so the data doesn't get removed

* Remove old fields from BuildItem model

- build fk
- bom_item fk
- A lot of other required changes too

* Update BuildLine.bom_item field

- Delete the BuildLine if the BomItem is removed
- This is closer to current behaviour

* Cleanup for Build model

- tracked_bom_items -> tracked_line_items
- untracked_bom_items -> tracked_bom_items
- remove build.can_complete
- move bom_item specific methods to the BuildLine model
- Cleanup / consolidation

* front-end work

- Update javascript
- Cleanup HTML templates

* Add serializer annotation and filtering

- Annotate 'allocated' quantity
- Filter by allocated / trackable / optional / consumable

* Make table sortable

* Add buttons

* Add callback for building new stock

* Fix Part annotation

* Adds callback to order parts

* Allocation works again

* template cleanup

* Fix allocate / unallocate actions

- Also turns out "unallocate" is not a word..

* auto-allocate works again

* Fix call to build.is_over_allocated

* Refactoring updates

* Bump API version

* Cleaner implementation of allocation sub-table

* Fix rendering in build output table

* Improvements to StockItem list API

- Refactor very old code
- Add option to include test results to queryset

* Add TODO for later me

* Fix for serializers.py

* Working on cleaner implementation of build output table

* Add function to determine if a single output is fully allocated

* Updates to build.js

- Button callbacks
- Table rendering

* Revert previous changes to build.serializers.py

* Fix for forms.js

* Rearrange code in build.js

* Rebuild "allocated lines" for output table

* Fix allocation calculation

* Show or hide column for tracked parts

* Improve debug messages

* Refactor "loadBuildLineTable"

- Allow it to also be used as output sub-table

* Refactor "completed tests" column

* Remove old javascript

- Cleans up a *lot* of crusty old code

* Annotate the available stock quantity to BuildLine serializer

- Similar pattern to BomItem serializer
- Needs refactoring in the future

* Update available column

* Fix build allocation table

- Bug fix
- Make pretty

* linting fixes

* Allow sorting by available stock

* Tweak for "required tests" column

* Bug fix for completing a build output

* Fix for consumable stock

* Fix for trim_allocated_stock

* Fix for creating new build

* Migration fix

- Ensure initial django_q migrations are applied
- Why on earth is this failing now?

* Catch exception

* Update for exception handling

* Update migrations

- Ensure inventreesetting is added

* Catch all exceptions when getting default currency code

* Bug fix for currency exchange rates update

* Working on unit tests

* Unit test fixes

* More work on unit tests

* Use bulk_create in unit test

* Update required quantity when a BuildOrder is saved

* Tweak overage display in BOM table

* Fix icon in BOM table

* Fix spelling error

* More unit test fixes

* Build reports

- Add line_items
- Update docs
- Cleanup

* Reimplement is_partially_allocated method

* Update docs about overage

* Unit testing for data migration

* Add "required_for_build_orders" annotation

- Makes API query *much* faster now
- remove old "required_parts_to_complete_build" method
- Cleanup part API filter code

* Adjust order of fixture loading

* Fix unit test

* Prevent "schedule_pricing_update" in unit tests

- Should cut down on DB hits significantly

* Unit test updates

* Improvements for unit test

- Don't hard-code pk values
- postgresql no likey

* Better unit test
2023-06-13 20:18:32 +10:00
Matthias Mair
15ab911da6
Add more version information (#5014)
* Add info for installer, branch, publisher

* include version info

* fix permissions

* fix typo

* add more info

* use GH url

* fix node

* remove publisher

* remove more logging

* Add info to version view

* enable branch discovery when not set

* fix ref to github version

* add branch to about dialog

* use precise plattform information - if no env is set

* fix ref names

* load VERSION info

* rename plattform to target

* extend installer var

* add generic plattform info

* add docs for version info

* add more info

* add installer codes

* Ammend navigation
2023-06-12 00:32:03 +10:00
Matthias Mair
005c8341bf
Improve devdocs (#4813)
* move devcontainer docs

* rename bare metal pages

* fix backlinks

* Add getting started for devs

* add mermaid

* include contrib in docs

* use another plugin

* include everything

* update doc checks

* fix install command

* remove mermaid

* remove inclusion tag

* remove empty list item

* readd include-markdown

* use non-conflicting syntax for include

* fix table rendering in mkdocs

* make controbuting embedable

* re-add mermaid

* remove empty section

* resturcture

* remove mermaid again
2023-06-09 10:16:30 +10:00
Oliver
192c1ecb21
Add note on SSO behind proxy (#4985) 2023-06-07 11:55:02 +10:00
Oliver
ba24ff570a
SSO bug fix (#4972)
* Catch SSO error

- If social application is not assigned to at least one site, errors happen
- Check if at least one site is enabled

* Docs updates

* Typo fix
2023-06-05 21:03:16 +10:00
Matthias Mair
21ed4b2081
Fix common spelling mistakes (#4956)
* add codespell

* first fixes

* doc fixes

* fix docstrings and comments

* functional changes

* docstrings again

* and docs again

* rename args

* add ignore

* use pre-commit for filtering instead

* ups

* fix typo in filter
2023-06-04 00:04:52 +10:00
Oliver
b0338e181e
Parameter validation via plugin (#4958)
* Expose part parameter validation to plugins

- Allow ValidationMixin plugins to validate part parameter values

* Update sample plugin

* Catch and re-throw error

* Update docs

* Improve plugin docs

* Simplify validation sample

* Calculate numeric value first
2023-06-03 21:27:31 +10:00
Oliver
2c3ba6e528
Update action.md (#4949)
Fix path for action plugin docs
2023-06-02 09:35:56 +10:00
Oliver
60f2f1ea86
Report files (#4946)
* Adds more report tags

- uploaded_file: Load qualified path for a media file
- encode_svg_image: Encode an svg image as base64 data

* Docs updates
2023-06-02 07:54:15 +10:00
Oliver
e21a5e62b8
Parameter types (#4935)
* Add fields to PartParameterTemplateModel

- checkbox: Is the field a 'checkbox'
- choices: List of valid options

* Update javascript

* Adds unit test for PartParameterTemplate

- Checkbox cannot have units
- Checkbox cannot have choices
- Choices must be unique

* Improve API filtering

- Add "has_choices" filter
- Add "has_units" filter

* Prune dead code

* Update js functions for creating / editing parameters

* Update part parameter form

- Rebuild the "data" field based on the selected template
- Supports "string" / "boolean" / "select"

* Adjust data input based on parameter type

- Choice displays available options
- Checkbox displays boolean switch
- Otherwise displays text input
- Adds more unit testing
- Updates to forms.js for improved functionality

* Calculate numeric value for boolean parameters

* Update docs

* Bump API version
2023-06-01 07:20:11 +10:00
Oliver
2c05e3e74d
Improve docs for report helpers (#4933) 2023-05-31 22:05:13 +10:00
miggland
4d76708bee
Add API Calendar for Return Orders (#4899)
* Add RO to calendar output

* Update title and description to be more descriptive

* Add documentation

* Add simple test for RO calendar

* Lint/syntax

* Lint

* Changes to title, description
2023-05-26 17:01:04 +10:00
Oliver
5dd6f18495
Part units (#4854)
* Add validation to part units field

* Add "pack_units" field to the SupplierPart model

* Migrate old units to new units, and remove old field

* Table fix

* Fixture fix

* Update migration

* Improve "hook" for loading custom unit database

* Display part units column in part table

- Also allow ordering by part units
- Allow filtering to show parts which have defined units

* Adds data migration for converting units to valid values

* Add "pack_units_native" field to company.SupplierPart model

* Clean pack units when saving a SupplierPart

- Convert to native part units
- Handle empty units value
- Add unit tests

* Add background function to rebuild supplier parts when a part is saved

- Required to ensure that the "pack_size_native" is up to date

* Template updates

* Sort by native units first

* Bump API version

* Rename "pack_units" to "pack_quantity"

* Update migration file

- Allow reverse migration

* Fix for currency migration

- Handle case where no currencies are provided
- Handle case where base currency is not in provided options

* Adds unit test for data migration

* Add unit test for part.units data migration

- Check that units fields are updated correctly

* Add some extra "default units"

- each / piece
- dozen / hundred / thousand
- Add unit testing also

* Update references to "pack_size"

- Replace with "pack_quantity" or "pack_quantity_native" as appropriate

* Improvements based on unit testing

* catch error

* Docs updates

* Fixes for pricing tests

* Update unit tests for part migrations · 1b6b6d9d

* Bug fix for conversion code

* javascript updates

* JS formatting fix
2023-05-26 16:57:23 +10:00
Oliver
433ea4d0de
Documentation Improvements (#4894)
* Improvements for version banner

- Display at the bottom of the page
- Simplify text

* Use mkdocs version provider

* use 'navigation.instant'

* Support modern mkdocs features

- Much better navigation and improved features

* Content changes

* Add code to find previous versions

* Remove modern python syntax

* display output codes

* Hide version banner

* Extra debug message

* update terminology.md
2023-05-25 22:42:16 +10:00
Oliver
f76059b2b4
Reorganize FAQ section (#4872) 2023-05-22 20:02:42 +10:00
Oliver
59cbf17b02
Faq docker (#4871)
* Remove stat context variables

* Revert "Remove stat context variables"

This reverts commit 0989c308d0.

* Allow longer timeout for image download tests

* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* docs: Update FAQ section

- Add note regarding permissions for docker directories

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-22 17:17:59 +10:00
Oliver
9e77b9fc56
Parameter filtering (#4823)
* adds new field 'parameter type' to PartParameterTemplate model

* Move part parameter settings onto their own page

* Add "choices" and "regex" template types

* Adds validation for PartParameter based on template type

* javascript cleanup

* Fix for serializers.py

* Add unit testing for parameter validation

* Add filters

* Rename "type" field to "param_type"

- Should have seen that one coming

* Coerce 'boolean' value to True/False

* table update

* js linting

* Add requirement for "pint" package

* Add validator for physical unit types

- Revert a previous migration which adds "parameter type" and "validator" fields
- These will get implemented later, too much scope creep for this PR
- Add unit test for validation of "units" field

* Update PartParameter model

- Add data_numeric field (will be used later)
- Add MinLengthValidator to data field

* Run validation for part parameter data

- Ensure it can be converted to internal units

* Update admin interface to display partparameter values inline for a part

* Adds validation of part parameter data value

- Also converts to base units, and stores as "numeric" value
- Display "numeric" value in tables
- Create new file conversion.py for data conversion

* Update unit tests and fix some bugs

* Update docstring

* Add units to parameter columns in parameteric part table

* Allow part list to be ordered by a particular parameter value

- Annotate queryset with new "order_by_parameter" method
- Skeleton method for future work

* Bump API version

* Adds unit testing for sorting parts by parameter value

* Update historical data migrations

- Turns out RunPython.noop is a thing?

* Cache the unit registry

- Creating the unit registry takes a significant amount of time
- Construct when first called, and then cache for subsequent hits
- Massive improvement in performance

* Throw error on empty values when converting between units

* Data migration for converting existing part parameter values

* Handle more error cases

* Show parameteric table on top-level part page too

* Unit test for data migration

* Update credits in docs

* Improved error checking

* WIP docs updates

* Fix parameteric table filtering

* remove zoom property

* Fix for import path

* Update parameter docs

* Run background task to rebuild parameters when template changes

* Make "data_numeric" field nullable

- Defaulting to zero is not appropriate, as the actual value may be zero
- Sorting still seems to work just fine

* Fixes for unit test

* More unit test fixes

* Further fixes for unit tests

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2023-05-19 13:24:55 +10:00
Oliver
d5caa98936
Report helper docs (#4845)
* Add docs for more helper functions

* add docs about dot notation lookup
2023-05-18 01:04:19 +10:00
Oliver
b732b4ceb5
Add docs for more helper functions (#4844) 2023-05-18 00:07:19 +10:00
Oliver
5c7303fd53
Update mkdocs.yml (#4828)
Fix spelling error in docs
2023-05-16 22:56:07 +10:00
Oliver
397419f365
Build consume stock (#4817)
* Adds "consumed_by" field to the StockItem model.

- Points to a BuildOrder instance which "consumed" this stock
- Marks item as unavailable
- Allows filtering against build order

* Allow API filtering

* Adds table of "consumed stock items" to build order page

* Update stock table to show "consumed by" stock status

* Add "consumed_by" link to stock item detail

* Optionally add 'buildorder' details to installStockItem method

* Update methodology for completing a build item

- Instead of deleting stock, mark as "consumed by"

* Fix history entry for splitting stock

* Bug fix

* track "consumed_by" field for tracked items also

* Update build docs

* Update allocation documentation

* Update terminology.md

* Unit test updates

* Fix conflicting migrations

* revert change
2023-05-16 21:25:02 +10:00
Matthias Mair
1b94a271b6
Add faq entry for https://github.com/inventree/InvenTree/issues/4802#issuecomment-1546767130 (#4812) 2023-05-15 07:47:36 +10:00
Oliver
b2ceac2c4a
[Feature] Scrap Build Outputs (#4800)
* Update docs for status codes

* Adds API endpoint for scrapping individual build outputs

* Support 'buildorder' reference in stock tracking history

* Add page for build output documentation

* Build docs

* Add example build order process to docs

* remove debug statement

* JS lint cleanup

* Add migration file for stock status

* Add unit tests for build output scrapping

* Increment API version

* bug fix
2023-05-13 22:19:35 +10:00
miggland
634daa2161
Add flag to API which allows using pack size (#4741)
* Add flag to API which allows using pack size when adding stock items manually

* Check for use_pack_size before pop

* Add test data and tests

* Improve data handling

* Add form field for use_pack_size when adding stock

* Add description of pack size to docs

* Don't check for supplier part if it is None

* Move form field to after supplier part, for better logic

* Fix wrong function

* Fix tests

* Adjust purchase price when using pack size

* Adjust help text for purchase price

* Adjust help text for purchase price some more

* Fix tests for purchase price of added stock

* Update api_version.py
2023-05-13 21:32:25 +10:00
Lukas
17057f4266
Docs/devcontainer (#4787)
* Added empty problemMatchers to prevent vscode from asking

* Added first draft for devcontainer docs

* Add 3rd space to tips

* Fix wording

* Add 4rd space to tips

* Refphased intro text

* Fixed spelling mistakes and added note

* Added dynamic variables for devcontainer

* Added missing containerWorkspaceFolder vars other devcontainer files

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>

* Added note for inventree core intelicense for plugin devs

* Added where is dev data stored question to faq

* Update docs/docs/start/devcontainer.md

* update toc

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2023-05-12 17:13:48 +10:00
Oliver
5886415aa7
Extend docs for report filename generation (#4781) 2023-05-06 09:49:32 +10:00
Lukas
d416e57ee3
Add option to hide plugin setting from auto-generated plugin setting page (#4767)
* Add option to hide plugin setting from auto-generated plugin setting page

* Change hide to hidden

* Added small note to docs about hidden settings

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2023-05-06 01:14:39 +10:00
Oliver
d7f75d3ab3
Project code docs (#4772)
* Add page for project code docs

* Add details on project codes

* more docs
2023-05-05 23:59:30 +10:00
Oliver
a0f18d82cb
Improve documentation on currency rendering (#4768)
* Improve documentation on currency rendering

* Fix .devcontainer file
2023-05-05 23:43:12 +10:00
Matthias Mair
f5c2591fd4
Add 'Tag' management (#4367)
* 'Tag' management
Fixes #83

* Add for ManufacturerPart, SupplierPart

* Add tags for StockLocation, StockItem

* fix serializer definition

* add migrations

* update pre-commit

* bump dependencies

* revert updates

* set version for bugbear

* remove bugbear

* readd bugbear remove isort

* and remove bugbear again

* remove bugbear

* make tag fields not required

* add ruleset

* Merge migrations

* fix migrations

* add unittest for detail

* test tag add

* order api

* reduce database access

* add tag modification test

* use overriden serializer to ensuer the manager is always available

* fix typo

* fix serializer

* increae query thershold by 1

* move tag serializer

* fix migrations

* content_types are changing between tests - removing them

* remove unneeded fixture

* Add basic docs

* bump API version

* add api access to the docs

* add python code

* Add tags to search and filters for all models
2023-05-04 09:02:48 +10:00
Oliver
61d613ff34
Base URL configuration options (#4749)
* Improve construct_absolute_url method

- Look for hard-coded site URL if provided
- Otherwise look for specified site URL
- Otherwise look at the provided request object

* Refactor existing code which used base URL setting

* Update docs

* Validate that a provided base URL is valid
2023-05-02 22:14:57 +10:00
Matthias Mair
10c3d101e8
Replace mklint with djlint (#4746)
* remove markuplint

* remove dedicated html step - will be done by pre-commit

* add djlint for django template linting

* Fix T003: Endblock should have name

* Fix H013: Img tag should have an alt attribute

* Fix H014: Found extra blank lines

* Fix T003: Endblock should have name

* Fix H013: Img tag should have an alt attribute

* small fixes

* Fix T001: Variables should be wrapped in a single whitespace

* Fix T003: Endblock should have name

* small fixes

* fix form method

* add entry to contributing

* fix template changes

* another fix

* use current version
2023-05-02 20:03:52 +10:00
Matthias Mair
5e99e54bbc
Update README.md with digitalocean info (#4742)
* Update README.md with digitalocean info

* update link for DO in docs
2023-05-01 19:42:14 +02:00
Oliver
ad4acef459
Plugin metadata docs (#4724)
* Add page for model metadata

* Add intro section

* Add info on direct access

* more updates
2023-05-01 23:33:44 +10:00
Matthias Mair
abee2cee88
Code style improvements (#4683)
* fix list comps

* mopre comp fixes

* reduce computing cost on any() calls

* add bugbear

* check for clean imports

* only allow limited relative imports

* fix notification method lookup

* fix notification method assigement

* rewrite assigment

* fix upstream changes to new style

* fix upstream change to new coding style
2023-04-28 20:49:53 +10:00
Oliver
f6021c4749
sentry.io improvements (#4712)
* Write function to catch sentry.io events before sending

- Will let us ignore certain types of errors which we are not interested in

* Cleanup

* Include release info

* Allow sentry reporting in debug mode

* Consolidate DRF sentry code into InvenTree/sentry.py

* Add more error types to ignore

* update docs
2023-04-28 06:54:31 +10:00
Oliver
e2c3b28640
Company docs updates (#4710)
* Refactor order documentation into simpler consolidated pages

* Reorganize images

* Add documentation on "Contact"

* Add imgae
2023-04-27 22:27:21 +10:00
Matthias Mair
3975a85742
Check if doc links are broken (#4686)
* add check for links

* fix style

* call silently

* add dep

* add path

* ignore readme as it contains necesarry broken links

* fix syntax

* check recursevly

* run in sync

* use linkcheckmd instaead

* use sync

* add requests

* revert fix to check if checks still work

* fix lookup

* fix old link

* run check verbose

* run async

* remove recurse

* introduce error for test

* fix link
2023-04-27 07:24:26 +10:00
Oliver
608f96c723
Add python example for deleting a part (#4703)
* Add python example for deleting a part

* Ignore PRs which are just docs from release notes
2023-04-26 23:18:03 +10:00
Oliver
5fcab2aec3
Specify order currency (#4698)
* Add 'order_currency' to the various external order models

- By default will use the currency specified for the supplier (or customer)
- Can be specified per order, also

* Display order currency on order pgae

* Add 'order_currency' field

* Enable "blank" currency option (to default to the currency specified by the referenced company

* Fix default currency code when adding line items

* Remove 'total_price_currency' serializer field

- Now replaced with 'order_currency' for greater flexibility

* Bump api_version.py

* Update default order report templates

* Updated docs

* More docs updaes

* Adjust unit tests

* Use 'order_currency' in order tables

* Update purchase order api unit tests
2023-04-26 17:35:15 +10:00
Oliver
8df207d8e1
Extend ReportMixin class to support labels (#4678)
* Extend ReportMixin context to shim label templates also

* Update docs
2023-04-22 23:46:43 +10:00
Oliver
50cbaff76d
Fixes for docs building (#4659) 2023-04-22 23:35:25 +10:00
Oliver
2ffd2354eb
Documentation integration (#4653)
* Add documentation under docs/ directory

* Add CI workflow for mkdocs configuration checking

* Add documentation issue template

* update pip-tools?

* Update .gitignore files

* Fix .gitignore rules

* Improve release notes page

* remove references to old repo
2023-04-22 22:40:29 +10:00
Oliver Walters
48cbd3be97 Remove (old) docs 2021-03-31 20:13:12 +11:00
Oliver Walters
d953f1a31e Remove some docs pages
- These are now being consolidated on the inventree.github.io page
2020-04-18 14:09:14 +10:00
Oliver
539b000460
Update start.rst
typo fix
2020-04-16 21:02:14 +10:00
Oliver Walters
4594f1e2b8 Update requirements documentation
- Add python3-dev and g++
- Add wheel to PIP requirements file
2020-04-16 09:56:32 +10:00
Oliver Walters
64c567474a Doc fix 2020-02-16 09:25:28 +11:00
Oliver Walters
d827070585 Fix docs 2020-02-02 18:11:29 +11:00
Oliver Walters
38be1fc696 Don't force backup step as part of **make update 2020-02-02 18:05:50 +11:00
Oliver Walters
6cd3b3176c Regenerate translation files
- Also fix documentation for making a virtual envirtonment
2019-12-09 22:17:21 +11:00
Oliver Walters
ef37eada2f Tweak docs 2019-12-05 23:07:36 +11:00
Oliver Walters
f648433e53 Add documentation for creating a virtual environment 2019-12-05 22:56:20 +11:00
Oliver Walters
225ad0ffa6 Add note in contribution file regarding translations 2019-09-27 10:07:34 +10:00
Oliver Walters
b56a1ade24 Make translation compilation a separate step
- Must be run after a translation file is updated
2019-09-26 10:21:14 +10:00
Oliver Walters
fcb47fce09 Make gettext a prerequisite rather than polluting the make file with apt commands that require sudo 2019-09-26 10:16:45 +10:00
Oliver Walters
9be528a3fb Add (brief) documentation page regarding translations 2019-09-26 10:07:18 +10:00
Oliver Walters
205567cfb4 cd to the correct directory to run the dev server 2019-09-13 15:47:34 +10:00
Oliver Walters
ee73ea714e Update docs for installing with PostgreSQL
- make target
- documentation
2019-09-09 16:11:26 +10:00
Oliver Walters
da5f2338eb Ensure that required packages are installed when performing update step 2019-09-09 14:14:38 +10:00
Oliver Walters
e81a4ffacd Add docs for common modules 2019-09-08 23:36:25 +10:00
Oliver Walters
d7f969613e Update makefile and docs 2019-09-08 20:45:01 +10:00
Oliver Walters
7ef2932f38 Add documentation on perfoming system upgrades 2019-09-04 10:54:15 +10:00
Oliver Walters
c988f9486e Re-order docs index 2019-09-02 17:59:10 +10:00
Oliver Walters
90254d1572 add a note about file encoding 2019-09-02 17:46:42 +10:00
Oliver Walters
37507f2b43 More cleanup of docs 2019-09-02 17:43:20 +10:00
Oliver Walters
47e9c44c43 Prefix correct directory in docs 2019-09-02 17:04:44 +10:00
Oliver Walters
92940f1333 Update makefile docs 2019-09-02 16:05:26 +10:00
Oliver Walters
d30cad2341 Emphasis on config.yaml 2019-09-02 16:05:19 +10:00
Oliver Walters
31f3ead5dc Andrew's eagle eyes 2019-09-02 15:52:19 +10:00
Oliver Walters
4de12033bb Change pip3 to python3-pip 2019-09-02 15:51:58 +10:00
Oliver Walters
e9efac403c Tweak install docs 2019-09-01 22:55:18 +10:00
Oliver Walters
e32048d3c6 Add documentation for data migration 2019-09-01 22:55:02 +10:00
Oliver Walters
d9cc03c5ca Improve installation documentation 2019-09-01 22:16:58 +10:00
Oliver Walters
d0f29ab83b Add note on MySQL collation option 2019-08-15 13:25:47 +10:00
Oliver Walters
475e1681de Doc fix 2019-08-14 12:54:38 +10:00
Oliver Walters
905c02d86f Copy config template to config file if it does not exist 2019-08-14 12:05:47 +10:00
Oliver Walters
0fa5cfdd66 Add doc for mysql installation 2019-08-14 11:32:18 +10:00
Oliver Walters
5ee07eae7c Update installation routine and docs
- Single call of "make install" does everything
- Add backup_dir option to yaml config file
2019-08-01 20:07:06 +10:00
Oliver Walters
31e6aa6906 doc fix 2019-07-12 00:15:47 +10:00
Oliver Walters
04efa2ece8 Add simple deployment documentation 2019-07-12 00:14:40 +10:00
Oliver Walters
07c95f2032 Doc tweaks 2019-07-11 23:15:24 +10:00
Oliver Walters
194c15492f MEDIA_ROOT is now provided in config.yaml 2019-07-10 23:41:33 +10:00
Oliver Walters
e231de6951 Documentation for allowed hosts / CORS headers 2019-07-10 23:33:46 +10:00
Oliver Walters
b941a4115f Documentation for settings file 2019-07-10 23:11:41 +10:00
Diego Herranz
064e09ee02 doc: python3 instead of python
Otherwise, python2 would be used in most systems.
2019-07-02 08:52:01 +01:00
Oliver Walters
2768a7cdf3 Added some docs 2019-06-18 01:49:07 +10:00
Oliver Walters
e28a435c07 Add entry point for order documentation 2019-06-15 17:13:28 +10:00
Oliver Walters
e91aa075b6 Fix a typo 2019-05-09 08:55:25 +10:00
Oliver Walters
a03027ec9b Add makefile option for quick backup 2019-05-07 07:46:29 +10:00
Oliver Walters
1d719f1ad3 Fixed image 2019-05-06 08:19:18 +10:00
Oliver Walters
c6a7d1c243 Added a bunch of developer documentation 2019-05-05 20:13:59 +10:00
Oliver Walters
7c45f8dc24 Remove absolute URL encoding
- Should now work on RTD
2019-04-28 08:11:29 +10:00
Oliver Walters
e512bc6536 Fix for autoapi-dirs 2019-04-28 01:17:28 +10:00
Oliver Walters
aa04941bf1 Add module-level docstrings for each app 2019-04-28 01:05:45 +10:00
Oliver Walters
b0487b33dc Change documentation root url to 'docs' 2019-04-28 00:58:59 +10:00
Oliver Walters
3a43a8ba72 Add custom links to app documentation 2019-04-28 00:57:29 +10:00
Oliver Walters
c87166a49a Prevent auto-addition of toc by autoapi
- Also fix links in sidebar
2019-04-28 00:37:20 +10:00
Oliver Walters
0d8f14d3e2 Add index and modindex to sidebar
- https://stackoverflow.com/questions/25243482/how-to-add-sphinx-generated-index-to-the-sidebar-when-using-read-the-docs-theme
2019-04-28 00:20:27 +10:00
Oliver Walters
4aef8eecea Force TOC to appear in sidebar for each page
- https://stackoverflow.com/questions/18969093/how-to-include-the-toctree-in-the-sidebar-of-each-page#19007358
2019-04-28 00:03:19 +10:00
Oliver Walters
5e6d49102d Add docstring documentation to the main InvenTree app 2019-04-27 21:21:58 +10:00
Oliver Walters
d9169a0dd1 Add docstrings for Build app 2019-04-27 20:35:14 +10:00
Oliver Walters
53ec42af03 Generate documentation from makefile
- Had to change 'docs' to 'documentation' to prevent directory clash
2019-04-27 17:22:23 +10:00
Oliver Walters
ad3defffe3 Use sphinx-autoapi to generate documentation files
- Select which files to ignore
- Only display items with a docstring
2019-04-27 17:19:51 +10:00
Oliver Walters
8d0df6654c Ignore migration files 2019-04-27 16:48:04 +10:00
Oliver Walters
e3440cbb90 Initialize sphinx documentation
- Change theme to sphinx_rtd_theme
- Ignore build files for docs
2019-04-27 16:09:52 +10:00
Oliver Walters
66cf8239fc Add initial requirements for documentation 2019-04-27 15:44:46 +10:00