* Add BOM creation to ther sofa example
* Fixed typo
* Update examples.md
Cleanup wording a bit
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* 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
* Fix docs for INVENTREE_SITE_URL
* Adjust default SITE_ID
* Optional support for multi-site
- Disable by default
* Prevent site setting from being changed if set by config parameter
* Update site url setting on server launch
* Update log messages
* Update RULESET_MODELS
* Update unit tests
* More fixes for unit tests
* Update docs
* Update SSO image
* Fix API endpoint URLs
* Adds "authenticated" field to root API endpoint
* Load global status data separately
- Create new global state manager
- Load *after* login
- Prevents auth popup dialog and failure messages
* Add launch config for frontend dev
* Update docs
* Clear token auth if no token is defined
* remove unneeded import
* Revert format of InfoView endpoint
* Remove "authenticated" from InfoView
* Refactor is_staff token check
- Using new get_token_from_request method
* Cleanup code
- return early
* URL fixes
- More fixes for incorrect api calls
* Better tracking of authenticated status
- track an internal flag in apiState
* Prioritize token auth
* Only fetch userState if authenticated
* Force unauthenticated state on first launch
* Updates to login procedure
- Rename doClassicLogin to doBasicLogin (reflecting "basic" auth)
- Add "loggedIn" attribute to sessionState
- Cleanup procedure for securing a token
* Abort early on checkLoginState
- Prevent failed calls to user_me
* Refactoring
- Simpler to just track token state
- No need for separate status tracker
- Works much cleaner this way
* Remove debug messages
* Cleanup unused imports
* Fix unused variable
* Revert timeout to 2000ms
* Rename doClassicLogout -> doLogout
* Improvements for checkLoginState
- Account for the presence of a CSRF session cookie
- If available, use it to fetch a token
* Clear CSRF cookie on logout
- Forces logout from session
- Tested, works well!
- Clean up notifications
* Cleanup setApiDefaults method
* fix global logout (PUI -> CUI)
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* move more paths to basic path
* changed url route to only match fully - fixed test
* revert path changes on labelprint pages
* fix not found/redirect
* revert test change
* Remove support for django-debug-toolbar
- Will not be effective with new react interface
- Performance is too slow for use anyway
* Fix requirements-dev.txt
* factored out user creation step
* [FR] Support creating reading initial superuser account password from file
Fixes#5471
* added docs
* use env too with password file
* do not warn if passwordfile is set
* Patch for django-allauth 0.55.0
- Some breaking changes here
- Add logger error if auth provider cannot be imported
- Fix for API endpoints
* Only provide URLs for configured plugins
* Update for django-allauth 0.56.0
- Remove support for keycloak
- Remove example from configuration template
* Update django-allauth in requirements.txt
* Update requirements.in
* Refactor SSO functions into common file
* Update config template file
* Update docs
* Fix template files
* Log SSO exceptions to the database
- WIll help greatly with debugging installs
* Add note about error handling in docs
* Bug fix for BarcodePOReceive endpoint
- Existing scan must match "stockitem" to raise an error
* bug fix: barcode.js
- Handle new return data from barcode scan endpoint
* Add barcode endpoint for allocating stock to sales order
* Improve logic for preventing over allocation of stock item to sales order
* Test for sufficient quantity
* Bump API version
* Bug fix and extra check
* Cleanup unit tests
* Add unit testing for new endpoint
* Add blank page for app sales orders docs
* Add docs for new barcode features in app
* Fix unit tests
* Remove debug statement
* Fix errors in variable names of examples
* Added drop down example
* Added drop down example
* Fixed picture name
* Fixed context variable in purchase order report
* Store data from example panel
* Store data from example panel
* Store data from example panel
* Add override fields for part pricing
* Allow pricing override values to be specified via the API
* Fix serializer
* Update pricing docs
* Add UI elements for manually overriding pricing data
* Increment API version
* Allow different image variations to be rendered in when using a part image in a report
* Use preview image in default test report
* Fix api_version
- Missed in https://github.com/inventree/InvenTree/pull/5906
* Update docstring
* Add similar functionality for company_image tag
* Update report documentation
* base-64 encode images for rendering in reports
- Allows image manipulation operations to be performed on the images
- Avoids any file pathing issues
* Update docs
* Fix unit tests
* More unit test fixes
* More unit test
* Handle missing file
* Instrument unit test
- Trying to determine what is going on here
* Fix for image resize
* Translate error messages
* Update default report templates
- Specify image size
* Fix errors in variable names of examples
* Added drop down example
* Added drop down example
* Fixed picture name
* Fixed context variable in purchase order report
* Embiggen search drawer
* Refactor search drawer queries:
- Use proper permission checks
* Actually check user settings
* Move StatusRenderer
* Update renderers
- Improve in-line render for different order types
* Update stockitem renderere
* Remove old renderer functions
* Better data handling in UserState
* Tweaks for settings pages
* "Fix" scanning page
- Rendering is a bit broken currently, as the barcode scan does not send back the model data
* "Fix" scanning page
- Rendering is a bit broken currently, as the barcode scan does not send back the model data
- Required refactoring enumerations out into separate files
- Some strange race condition / import loop was happening
* Fix incorrect imports
* Fixing hover card
- Use unique key
* fixes
* Fix urls.md
* More udpates
* Fix unused import
* Fixed error "Line 39 in Markdown file: Encountered unknown tag 'load'."
I did not include the statements {% raw %} and {% endraw %} to escape the code. I have been able to set up a dev server and can confirm this new md file works. My apologies!
* Added more documentation about Panels, and their role in `page_base.html`
* Added more sidebar documentation, and documentation about panels
* Fixed `Line 73 in Markdown file: Encountered unknown tag 'trans'.` error.
Also, made minor clarity improvements
* Reworded some sentences for clarity improvements.
Additionally, added more information about `onPanelLoad`
* Minor syntax updates
* Add skeleton for new label sheet plugin
* Add custom printing options serializer
* Render individual label outputs to HTML
* Extract page size and column size
* Check label dimensions before printing
* Split labels into multiple pages / sheets
* Render out multiple labels onto a single sheet
* Cleanup base label template
- Allow @page style to *not* be generated
- Pass through as optional context variable
- Check that it still works for single label printing (default behaviour unchanged)
- Prevents multiple @page styles from being generated on label sheet output
* Fix stylesheets for part labels
* Cleanup stock location labels
* Cleanup more label templates
* Check if label can actually fit on page
* Generate output to PDF and return correct response
* Update panel.md
* Fix unit tests
* More unit test fixes
I did not include the statements {% raw %} and {% endraw %} to escape the code. I have been able to set up a dev server and can confirm this new md file works. My apologies!
* Corrected report mixin example
* Remove unused file
* Added context variables for company and address
* Repair link in file
* Repair link in file
* Repair link in file
* Removed blank
* Added context variables for contacts to docs
* Typo in link
* Update .pre-commit-config.yaml
Revert version
* Delete InvenTree/order/migrations/0099_auto_20231101_1747.py
* Delete InvenTree/part/migrations/0119_auto_20231101_1747.py
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Added backend changes to support printing options
* Pass printing options seperatly via kwargs for easier api refactor later
* Implemented printing options in CUI
* Fix js linting
* Use translations for printing dialog
* Added docs
* Remove plugin and template fields from send printing options
* Fix docs
* Added tests
* Fix tests
* Fix options response and added test for it
* Fix tests
* Bump api version
* Update docs
* Apply suggestions from code review
* Fix api change date
* Corrected report mixin example
* Remove unused file
* Added context variables for company and address
* Repair link in file
* Repair link in file
* Repair link in file
* Removed blank