* Unit test for SalesOrder data migration
* make field checks more stable
* Adjust migration strategy
* Fix for data migration
* Simplify login test for playwright
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* Add 'start_date' to Build model
* Add to serializer
* Add filtering and ordering
* Update BuildOrderTable
- Add new column
- Add new filtering options
* Add sanity check for start_date
* Add 'start_date' field to BuildOrder form
* Update docs
* Bump API version
* Tweak unit testing
* Display 'start_date' on build page
* Refactor UI tests
* Fix for 'date' field in forms
* Add additional unit tests
* Fix helper func
* Remove debug msg
* Enhancements for "custom state" form
- More intuitive form actions
* Improve back-end validation
* Improve table rendering
* Fix lookup for useStatusCodes
* Fix status display for SockDetail page
* Fix SalesOrder status display
* Refactor get_custom_classes
- Add StatusCode.custom_values method
* Fix for status table filters
* Cleanup (and note to self)
* Include custom state values in specific API endpoints
* Add serializer class definition
* Use same serializer for AllStatusView
* Fix API to match existing frontend type StatusCodeListInterface
* Enable filtering by reference status type
* Add option to duplicate an existing custom state
* Improved validation for the InvenTreeCustomUserStateModel class
* Code cleanup
* Fix default value in StockOperationsRow
* Use custom status values in stock operations
* Allow custom values
* Fix migration
* Bump API version
* Fix filtering of stock items by "status"
* Enhance status filter for orders
* Fix status code rendering
* Build Order API filter
* Update playwright tests for build filters
* Additional playwright tests for stock table filters
* Add 'custom' attribute
* Fix unit tests
* Add custom state field validation
* Implement StatusCodeMixin for setting status code values
* Clear out 'custom key' if the base key does not match
* Updated playwright testing
* Remove timeout
* Refactor detail pages which display status
* Update old migrations - add field validator
* Remove dead code
* Simplify API query filtering
* Revert "Simplify API query filtering"
This reverts commit 06c858ae7ce1feab5af0f91993b42ba8a81e588a.
* Fix save method
* Unit test fixes
* Fix for ReturnOrderLineItem
* Reorganize code
* Adjust unit test
* Add <ChangePassword> page
* Rename Set-Password to ResetPassword
* Add unit testing
* Ensure user is properly logged into page
* Update playwright tests
* Small tweaks
* Refactor form fields
- Allow error message to be passed through via field definition
- Return error information to onFormError
* Fix debounce issue for text fields
* Fix for useForm hook
* Badge fix
- Fix badge rendering for SalesOrderShipment
* Cleanup unit test
* Allow transfer of items independent of status marker
* Update test
* Display errors in stock transsfer form
* Add option to set status when transferring stock
* Fix inStock check for stock actions
* Allow adjustment of status when counting stock item
* Allow status adjustment for other actions:
- Remove stock
- Add stock
* Revert error behavior
* Enhanced unit test
* Unit test fix
* Bump API version
* Fix for playwright test
- Added helper func
* Extend playwright tests for stock actions
* Add 'stocktake_before' and 'stocktake_after' filters for StockItem API
* Enable new filters for StockItemTable
* Update CUI table filters
* Add more date filter options for orders
* Add date filters to BuildList
* Update BuildOrderTable filters
* Add more order date filters
* Cleanup PurchaseOrderFilter code
* Implement more PUI table filters
* Add "Completion Date" column to PurchaseOrderTable
* Update ReturnOrderTable
* Add 'text' option for TableFilter
* filter state management
* Bump API version
* Sorting for table filters
* Add playwright tests for stock table filtering
* Playwright updates
- Add some helper functions for common operations
* Refactoring for Playwright tests
* Add empty context menu
- For tables without "row actions"
- Show an "empty" menu
- For UX consistency across all tables
* Fix for playwright tests
- Recent changes to the demo dataset...
* Fix typo
* Fix for "installed in" display
- Allow "details" field to be passed custom params
* Add extra debug to link checking
* API: fix for StockTrackingList entry
* Display links for stock items in tracking entry table
* Generate absolute links for item renderers
* Revert "Generate absolute links for item renderers"
This reverts commit 878fba91d0d689f49dfdee964827227fe574a66b.
* Bump API version
* Add playwright tests
* Add <PageTitle /> component
* Use useEffect to override hard-coded value
* Ensure page titles are tracked across the site
* Adjust unit tests
* Playwright test updates
* Tweak tests
* Update InvenTreeTable.tsx
Revert unused change
* Add level indicators and path to stock location dropdown
* Add level indicators and path to part category dropdown
* Updated stock location string to include location path
* Fix PUI form test (set location)
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* Add new backend filters for BuildLine API
* PUI: Better display of part allocations against build orders
* Add 'order_outstanding' filter to SalesOrderLineItem API
* Add new table showing outstanding SalesOrder allocations against a part
* Update playwright test
* Cleanup
* Bump API version
* Add more table columns
* Tweak UsedInTable
* Another table tweak
* Tweak playwright tests
* Migration for SalesOrderAllocation
- Allow allocation against order with null shipment
* Enhaced query efficiency
* Further API cleanup
* Adjust serializer
* PUI updates
* Enable editing of allocation shipment
* Improve shipment filtering
* Add sub-table for salesorderlineitem
* Add helper method to SalesOrder to return pending SalesOrderAllocations
* Fix for CUI
* Update form for CUI
* Prevent SalesOrder completion with incomplete allocations
* Fixes for StockItem API
* Frontend refactoring
* Code cleanup
* Annotate shipment information to SalesOrder API endpoint
* Update frontend PUI
* Additional filtering for SalesOrderAllocation
* Bump API version
* Hide panel based on user permissions
* js linting
* Unit test fix
* Update playwright tests
* Revert diff
* Disable playwright test (temporary)
* View output from build table
* Refactor plugin components into <RemoteComponent />
* Clean up footer
* Allow BuildOrder list to be sorted by 'outstanding'
* Fix model name
* Update BuildOrderTable filter
* Add StockItemTable column
* Working towards new dashboard
* Cleanup unused imports
* Updates: Now rendering some custom widgets
* Define icons for model types
* Add icon
* Cleanup / refactor / delete
- Complete transfer of files into new structure
* Follow link for query count widgets
* Add some more widgets to the library
* Remove old dashboard link in header
* Remove feedback widget
* Bump API version
* Remove test widget
* Rename "Home" -> "Dashboard"
* Add some more widgets
* Pass 'editable' property through to widgets
* Cleanup
* Add drawer for selecting new widgets
* Allow different layouts per user on the same machine
* Fixes
* Add ability to *remove* widgets
* Add helpful button
* Add a keyboard shortcut
* Refactoring
* Add backend code for serving custom dashboard items
* Load dashboard items from plugins
* Tweak for dashboard item API query
- Refetch if user changes
- Tweak "loaded" value
- Prevent refetchOnMount
* Add message if no dashboard widgets are displayed
* Refactoring main navigation menu
- Group into sections
- Cleanup / consolidation
- General refactoring
* Remove playground
* Add backend field for storing dashboard layout
* Add extra type definitions for UseInstance
* Manual labels for builtin dashboard items
- Otherwise they will change with translation locale
* Shorten labels for more plugins
* Adjust DashboardMenu
* Reduce stored data
* Add widget filter by text
* Remove back-end settings
* Update playwright tests for dashboard
* Updated tests
* Refactor backend API for fetching plugin features
* Further fixes for back-end code
* More back-end fixes
* Refactor frontend:
- Custom panels
- Custom dashboard items
* Further backend fixes
* Yet more backend fixes
- Improve error handling
* Fix for custom plugin settings rendering
* Enable plugin panels for part index and stock index pages
* Cleanup
* Fix nav menu
* Update typing
* Helper func to return all plugin settings as a dict
* Update API version date
* Fix for UseInstancea
* typing fix
* Tweak layout callbacks
* Pass query parameters through to navigation functions
* Improve custom query display
* Add "news" widget
* Ensure links are prepended with base URL on receipt
* Update NewsWidget
* Bug fix
* Refactor template editor tests
* Refactor unit testing for test_ui_panels
* Unit test for dashboard item API endpoint
* Update comment
* Adjust playwright tests
* More playwright fixes
* Hide barcode scanning options if disabled
* Tweak dashboard widget
* Fix custom panel title
* Update documentation around UIMixin class
* Cleanup
* Additional docs
* Add icon def for 'error' ModelType
* Add error boundary to TemplateEditor component
* Fix so that it works with template editors and previews again
* Tweak error messages
* API unit test fixes
* Unit test fix
* More unit test fixes
* Playwright test tweaks
* Adjust error messages
* Add "destination" field to PurchaseOrder
* Add 'destination' field to API
* Add location to PurchaseOrderDetail page
* Display "destination" on PurchaseOrderDetail page
* Pre-select location based on selected "destination"
* Fix order of reception priority
* Auto-expand the per-line destination field
* Add "Purchase Order" detail to StockItemDetail page
* Bug fix in PurchaseOrderForms
* Split playwright tests
* Docs updates
* Bump API version
* Unit test fixes
* Fix more tests
* Backport to CUI
* Use PurchaseOrder destination when scanning items
* Add helpers methods for table row expansion
* Render a simplified "line item sub table"
- Akin to CUI implementation
- But like, better...
* Edit / delete individual stock allocations
* Improvements for BuildLineTable and BuildOutputTable
* Improvements for table fields
* Refactoring
* Refactor BuildLineTable
- Calculate and cache filtered allocation values
* Code cleanup
* Further fixes and features
* Revert new serializer field
- Turns out not to be needed
* Add playwright tests
* Bug fix for CUI tables
- Ensure allocations are correctly filtered by output ID
* Adjust CUI table
* Fix 'allocated' queryset annotation for SalesOrderLineItemSerializer
* Add 'allocated' filter for SalesOrderLineItemList
* Allow ordering by 'allocated' and 'shipped' values
* Updated unit testing
* Bump API version
* Update playwright tests
* Add "index" page for build orders
- Make consistent with other pages
- Allow plugin panels here
- Prepare for future development
* Rearrange URLs for "manufacturing"
- Provide same format as other order types
- Allow for other sub-pages under "manufacturing" in the future
* Fix breadcrumbs
* Adjust playwright tests
* Refactor "update_serial_number" method
* Refactor serial number validation
- Query is much more efficient now
- Does not have to check each serial number individually
- Makes use of existing Part class method
* Refactor creation of multiple stock items
* Fix for singular item creation
* Refactor serializeStock method:
- Push "rebuild tree" to background worker
- Use bulk_create actions
* Refactor createion of serialized build outputs
* Prevent 1+N DB hits
* Cleanup
* Cleanup
* Reinstate serial number checks
* Add limit for serial number extraction
* Fix cache config
* Revert cache settings
* Fix for unit tests
* Playwright tests
* Bug fix
* Force False cookie mode in testing
* Revert aria-label for PanelGroup items
- No longer works as expected with playwright locators
* Fix playwright vtest
* Further updates
* Playwright test adjustments
* Remove duplicate locator
* Refactor AttachmentPanel into common component
* Remove unused imports
* Add very basic implementation for SalesOrderShipmentDetail page
* Refactor NotesPanel into common component
* Fetch customer data
* Add some placeholder actions
* Updates for shipment detail page
* Adjust SalesOrderShipment API
* Add badges
* Implement API filter for SalesOrderAllocation
* Display allocation table on shipment page
* Add placeholder action to edit allocations
* Improvements for SalesOrderAllocationTable
* Improve API db fetch efficiency
* Edit / delete pending allocations
* Fix for legacy CUI tables
* API tweaks
* Revert custom attachment code for SalesOrderShipment
* Implement "complete shipment" form
* Allocate stock item(s) to sales order
* Fixes for TableField rendering
* Reset sourceLocation when form opens
* Updated playwrigh tests
* Tweak branch (will be reverted)
* Revert github workflow
* Handle simple string error message
* Add playwright test for form validation
* Render stock unit price / total value
* Fix for TextField:
- Prevent unnecessary value change
- This was removing the field error
* Add playwright test for supplier form validation
* Enhancements for stock item form
* Edit stock item from "build output" table
* Rearrange menu items
* Fix build order line complete action
* Fix for other modals
* Cleanup dead code
* Reload build details after output state change
* Logic fix for plugin table
* Bump API version
* Adds hook for generating placeholder serial numbers
* Add playwright tests
* Remove unused imports
* Cleanup playwright tests
* initial implementation to let plugins provide custom ui features
* provide exportable types
* refactor ref into renderContext to make it more generic and support template preview area ui plugins
* rename 'renderContext' -> 'featureContext' as not all features may render something
* allow to specify the function name via the source file string divided by a colon
* Bump api version
* add tests
* add docs
* add docs
* debug: workflow
* debug: workflow
* fix tests
* fix tests hopefully
* apply suggestions from codereview
* trigger: ci
* Prove that coverage does not work
* Revert "Prove that coverage does not work"
This reverts commit 920c58ea6fbadc64caa6885aebfd53ab4f1e97da.
* potentially fix test???
* Add model for recording barcode scan results
* Add "admin" interface for new model
* Add API endpoints for barcode scan history
* Add global setting to control barcode result save
* Add frontend API endpoint
* Add PUI table in "admin center"
* Add API filter class
* Enable table filtering
* Update model definition
* Allow more characters for barcode log
* Log results to server
* Add setting to control how long results are stored
* Table updates
* Add background task to delete old barcode scans
* Add detail drawer for barcode scan
* Log messages for BarcodePOReceive
* Add warning message if barcode logging is not enabled
* Add "context" data to BarcodeScanResult
* Display context data (if available)
* Add context data when scanning
* Simplify / refactor BarcodeSOAllocate
* Refactor BarcodePOAllocate
* Limit the number of saved scans
* Improve error message display in PUI
* Simplify barcode logging
* Improve table
* Updates
* Settings page fix
* Fix panel tooltips
* Adjust table
* Add "result" field
* Refactor calls to "log_scan"
* Display result in PUI table
* Updates
* Fix typo
* Update unit test
* Improve exception handling
* Unit test updates
* Enhanced unit test
* Ensure all database key config values are upper case
* Refactor some playwright helpers
* Adds playwright test for barcode scan history table
* Requires some timeout
* Add docs