* 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 messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.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 messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations messages.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 messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations messages.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 messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.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 messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.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
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.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
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations messages.po from Crowdin
* Whitespace fixes for translation files
* Added django settings for pui
* Fix: server version is not loaded on initial load
* Moved server version out of server selector icon
* Use polling only for WSL
* Added comment and extracted to constant instead of function
* Default show server selector to false if not in dev mode
* Refactored hostList settings
* Move json serialization into global scope
* Show server selector in netlify builds
* Use demo server for netlify
* Renamed netilfy mode to dev or demo mode
* Translate for netlify
* Dont use translation in main as the are not working there
* Annotate available variant stock to SalesOrderLine serializer
* Filter variant stock by:
- active = True
- salable = True
* Add 'salable' filter to StockList API
* Filter available stock in sales order table:
- Must be salable
- Must be active
* Update table display
* Bump API version
* bump deps
* use isinstance where possible
* and another bump ;-)
* small fix for isinstance
* fixed wrong comparison
* fixed comparision
* use exact comparision
* Accept conversion of fractional values
- e.g. "1/10" is a valid input value
- pint dimensions returns strange results sometimes
* Add option (default) to return value without units
- Handles conversion for "stringish" input values
* Update unit tests
* Fix return from convert_physical_value method
* Update unit tests
* Improved checking for conversion code
* Call to_base_units first
* Conversion depends on whether units are supplied or not
* Updates to unit testing
* Handle conversion of units for supplier parts
- Includes some refactoring
* add error log on SSO check failure
* sso_check_provider: fix by comparing against id
the name is the pretty printed version which not necessarily is the same
as the provider id it is compared against. This fails e.g. for the
microsoft allauth extension where the id is microsoft, but the name is
"Microsoft Graph".
Closes: #5330
* Create dependency-review.yml
* Create scan.yml
* Create sonar-project.properties
* add option to use sections and refactro
* translate error messages
* remove unneeded vars
* move function code
* move data inside
* add global section
* add plugin section
* use translated section titles
* add translation strings
* rename scan action
* add user settings
* use ordered data
* fix settings url
* use debounced value for strings (not choices!)
* rename contex to context
* move i18n provider up
* move theme options into seperate context/ component
* renmae statrtup vars
* move translations out
* reactivate sentry
* move i18n provider to seperate context
* move langauge state completly out of App
* use theme out
* move theme context
* move LanguageContext
* move function into state
* make sentry optional for now
* add key to accordion
* init langauge context on top
* remove unneeded css files
* move errorpage to tsx
* add translation for error page
* Add error to title
* add typecast for error
* move type definition out
* remove todo -> type was already added
* upgrade deps
* add bootstrap
* remove @mantine/core
* readd core
* switch to bootstrap
* simplify import
* 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 sekeleton
* fix various issues
* add locales
* clean output before building
* cleanup dir
* remove bootstrap
* clean up deps
* fix settings panel
* remove assets
* move logo
* split out router
* split up chunks
* fix zustand import syntax
* bundl
* update pre-render
* use vendor splitting
* maximes space usage
* enlarge breakpoints
* remove wired color changes
* cleanup tabs
* fix error
* update auth functions
* default to mail login
* add placeholder marking
* Add text to placeholder
* readd codespell
* add another test
* add sort plugin
* add sort plugin
* sort imports
* fix order
* Add mega menu
* 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
* Add "parttable" component
* Add task to serve front-end code dev
* remove default arg from build
* remove eslint
* optimize svg
* Adds generic function for rendering a table with server-side data
* Implement pagination and sorting
* Add more example columns
* Enable selection of table data rows
* add build step for plattform UI
* fix install command
* optional parameters
* Add simple stock table
* Add optional parameter for default sort
* Change "no records" text based on query result
* Translate
* Start writing some helper functions
* Add thumbnail component
* Fill out more columns for stock table
* Add simple skeleton for table search input
* Adjust default table properties
* Change loader variant
* Drop-down for selecting table columns
* Add search text callback
* use alpine commands
* do not use cache when creating image
* More updates for inventree table
- Fix search text entry
- Add "refresh" button
- Adjust variable names
* Search input improvements
- Add button to clear search input
* Enable mantine notification system
* Add "not yet implemented" notification message
* Add download action button
* Adds ButtonMenu component
- Button which expands to show other actions
- Add hooks for adding action menus to tables
* Add basic build order list table
* Add custom filters button for table
* Allow columns to be toggled
* Column visibility saved across table loads
* Adds display for table filters
- Define interface for table filter definition
- Add component for displaying filters
- Cleanup for part table
* Cleanup
* Define type for controlling column data
* Allow custom ordering term for table column
- Replaces "sortName" concept from bootstrap-table
* Improve build order table
- Fancy progress bars
* Reimplement invoke task to serve frontend files via yarn
* Update package files with mantine
* Implement callback when record selection is changed
* Adds generic "actionbutton" component
* Remove duplicate form components
* Remove tracked files in web/static
* Remove a bunch of files
- tracked in from the wrong original branch
* More page fixes
* Revert changes to reqiurements-dev.txt
* Spelling fix
* Component updates
* Cleanup components
* Cleanup
* Use spread operator
* Add some new dummy pages for testing
* Cleanup / simplify stockitem table
* Cleanup for part table
* Cleanup build order table
* Cleanup column toggle function
* Remove hard-coded URL
* Format updates
* Update deps
* npm required for inventree-python checks
* Fix search input
- Better debouncing
- Cleaner code
* Update package files
* vite polling fixes
* Implementation for download button
- Dropdown menu with file format options
* Implement callback for download of table data
* Better state management for hidden columns
* Implement state framework for active custom filters
* Silence some errors
* Revert change to vite config
* Implement collapsible filter list group
- Save active filters to local storage
- Add some example filters to the part table
- Add FilterBadge component
* Fix page names
* Simplify search input
- useDebouncedValue
* linting
* Refactor
* Remove debug msg
* Simplify search state
* Refactor function for constructing API query
* Add tooltip
* Update icons
* Add modal for selecting filter options
* Add more table filters for part table
* render custom item for filter select
* Complete implementation for selectable filters
- Allow choices to be specified as attribute
- Allow choices to be specified as function
- Handle state management for filter choice form
* Tweak badge
* Cleanup top-level yarn and npm files
* Less roundy
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
- Add "get_fields()" method to InvenTreeResource
- Override default behaviour and exclude some common fields
- Will flow down to any inheriting classes
* Skip ready functions if not in main thread or plugins are not loaded yet
* Debug integration tests
* Update ready.py
* Update ready.py
* Fix isInMainThread and isPluginRegistryLoaded ready functions
* Preload gunicorn app to only invoke the appconfig ready functions once
* debug: test prints for statistics
* Remove debug print
* Test without
* Revert "Test without"
This reverts commit 1bc1872893.
* Second test
* Add checks back to part, label, user model
* Add checks back to inventree, plugin apps
* log server output for debugging
* hopefully I can get the log this time+
* Next test
* Test with --noreload
* Next test
* trigger: ci, because session expired
* block the second ready execution instead of the first
* fix: load order
* Fix test and revert gh actions workflow change
* Added all_apps method to reload machanism
* Changed detect reload mechanism
* Also trigger ready on reload
* Add skipping second reload back for testing mode
* Added doc string back
* Update InvenTree/plugin/base/integration/AppMixin.py
* 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