* Filter incomplete outputs by location
* Filter build allocated stock by location
* Filter sales order allocations by location
* Bump API version
* Fix API version
* Fix annotations
* Refactor stock actions into a hook
* Cleanup hooks
* Allow transfer of "incomplete" outputs
* Simplify even further
* Enable transfer of stock allocated to build order
* Remove StockItemBriefSerializer entirely
* stock actions for items allocated to sales order
* Refactor <PartDetail> page
* Refactor <StockDetail>
* Refactor <LocationDetail>
* Bump API version
* SO button text
- Observe the "SALESORDER_SHIP_COMPLETE" value
* Fix palywright tests
* Adjust UI wording
- Separation between "items" and "stock"
* Add info panel if build order has no required items
* Fixes for playwright testing
- Ensure cookies are completely cleaned between sessions
- Fix base URL based on vite command
- Fix samesite cookie mode
- Prevent /static/ files being served by web server on :8000
* Remove gunicorn option
* Fix unit test
* Readjust base URL
* Simplify doCachedLogin
* Adjust text
* Ensure translations are extracted
- Otherwise, playwright will not find the right strings...
* Make admin test more reliable
* Remove asynciness
* Fix <AttachmentLink>
- Allow null "attachment" value
* Better implementation
* Cleanup
* Fixes for playwright testing
- Ensure cookies are completely cleaned between sessions
- Fix base URL based on vite command
- Fix samesite cookie mode
- Prevent /static/ files being served by web server on :8000
* Remove gunicorn option
* Readjust base URL
* Simplify doCachedLogin
* Fix logic func
* Revert webserver cmd
* Set base URL in playwrightconfig file
* Fix URL checks
* Fix URL definitions
* adjust playwright base URL
* Tweak for URL helper
* Further login tweaks
* Tweak test
* wait for API before starting tests
* Handle error
* Adjust login functions
* Don't use gunicorn
- But still use the webserver to serve static files in CI
* Enhanced login functions
* Tweak login tests
* Fix broken test
* Flipped the flippies
* UI improvement for column selection in tables
- Limit max height of dropdown
* Allow retry for instance query
* Prevent flickering when reloading instance
- Don't hide the children
- Just put a loading overlay on top
* Enhanced rendering for <InstanceDetail>
* Refactor other pages
* remove unused attributes
* Add useStoredTableState zustand
* Store table page size in the zustand state
* Store tablesorting data in zustand state
* Actually provide records...
* Transfer table names state
* Store hidden columns too
* rename states to better fit naming conv
* fix name
* ensure splashscreen only loads after login check
this reduces a short splash of the splashscreen even if logged in
* move loader to the middle of the screen and remove fallback on a view screens
* Improved mechanisms for data output
- Log errors against output
- Properly catch rendering errors
* Updated error handling
* Fix "render_date" tag
* Update default report template
- Make sure the helper is used
* Bug fixes
* Work in progress
- Seems to reset the columns on page refresh
- Probably related to the useLocalStorage hook
* Do not overwrite until the tablestate is loaded
* Prevent table fetch until data has been loaded from localStorage
* Improved persistance
* Adjust default column visibility
* Adjust playwright test
* add anchor element to tabs to enable opening in new tab
* simplify
* use unstyled button instead
* also enable linking on nav panels
* make sure metakey also works (reduces duplication)
* remove headers changes
* move check for modified key to lib
* render nav items as link
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Return stock item information when serializing an existing item
* Handle stock item creation
* Commonize response
* Provide build items in response
* Formalize returned data type
* Fix unit test
* Report merge
* Remove auto-generated file
* Remove pre-commit file
* Revert "Remove pre-commit file"
This reverts commit 00d80bae2a.
* Update API version
* Reduced duplicated logic
* reset pre-commit config
* Added migration files
* Added unit test
* Removed redundant migration
* Updated migration file
* Added a default report template with merge enabled
* Unit test to ensure a single page is generated
* Added docs to support merge feature
* Clean up
* Clean up
* Fixed unresolved link
* Updated API version
* Fixed test report path issue
* Add plugin context for each instance
* merge in master
* Fixed formating
* Added more detailed user guide
* Updated docs
* Added assert to ensure test html output exists
* Updated docs
* Fixed report test path
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* [FR] Improve Email handeling
Fixes#7950
* extend implementation of email thread and message models
* add missing args
* add unit test
* increase test coverage
* make key not necessary
* do not consider in coverage
* add email apis
* Add email admin
* fix email configuration check
* improve rendering
* squash migrations
* add config value overview
* log if mails were send
* add additional headers
* fix api unit test
* fix url resolving
* add InvenTree specific task to issue mails
required to extend sending options (prio, reply to)
* use internal sending task to keep telemetry cleaner
* add prio handling
* add plugin handling
* add setting
* factor plugin method out
* add typing
* move function
* bump version
* fix import path
* add a test for the test endpoint
* fix checking logic
* Add anymail sending / tracking handling
* add more ordering fields to api
* remove unneeded assingment
* add basic docs
* handle incoming emails with anymail
* Add inbox handling
Closes https://github.com/inventree/InvenTree/issues/7951
* add list of supported ESPs
* add better error transparency when sending fails
* add missing migration
* combine migrations back down
* fix todos
* fix qc export
* fix missing model props
* add tests
* ensure things are passed as a list
* fix list formatting
* fix deps
* move tests
* add testing with anymail
* allow handling of priority and headers
* add test for events
* add test for inbound messages
* rename variable
* increase coverage
* fix format
* add setting doc
* fix link
* rename fnc
* disable pro test
* make messages clearer
* fix doc syntax
* fix assign
* fix test
* revert test disablement
* add enum
* disable check for now
* try changing test around
* add incoming mail processing
* fix import
* add docs
* Fix mail.md
* bump deps
* fix api version
* feat: improve user management actions
add "open profile" actions
* add lock / unlock action
* add actions for password reset
* submit coverage info to codecov
no idea why this was turned off
* bump api version
* add frontend test
* add backend test
* fix test state
* move test
* fix style
* fix name
* hide password change if not superuser
* bump playwright
see https://github.com/microsoft/playwright/issues/35183
* fix test
* fix test order
* simplify test
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Fix for stockOperationModal
* Re-check when opened status changes
* rename stockOperationModal -> useStockOperationModal
* Fix enabled status of query
* Add option to specify modalId
* Track modal state when open / close
* Prevent generators from running until forms are open
* Prevent double loading of tables
* Fix useQuery
* Fix queryKey
* Revert API change
* Add BuildOrder reference to PurchaseOrderLineItem
* Add setting to enable / disable external build orders
* Fix for supplier part detail
* Update forms
* Filter build list by "external" status
* Add "external" attribute to BuildOrder
* Filter by external build when selecting against purchase order line item
* Add frontend elements
* Prevent creation of build outputs
* Tweak related model field
- Send filters when fetching initial data
* Fix migrations
* Fix some existing typos
* Add build info when receiving line items
* Logic fix
* Bump API version
* Updated relationship
* Add external orders tab for order
* Display table of external purchase orders against a build order
* Fix permissions
* Tweak field definition
* Add unit tests
* Tweak api_version.py
* Playwright testing
* Fix discrepancy in 'building' filter
* Add basic documentation
( more work required )
* Tweak docs macros
* Migration fix
* Adjust build page tabs
* Fix imports
* Fix broken import
* Update playywright tests
* Bump API version
* Handle DB issues
* Improve filter
* Cleaner code
* Fix column ordering bug
* Add filters to build output table
* Documentation
* Tweak unit test
* Add "scheduled_for_production" field
* Add helper function to part model
* Cleanup
* Add functionality to copy part test templates when duplicating a part instance
* Bug fixes
* Tweak part duplication fields
* Add simple playwright test
* Updated unit test for part duplication
* Bump API version
* Update mantine-datatable
* Improve table hook
* Fix for table name
- Table names must be unique
- Otherwise stored column data gets corrupted
* Click through on table
* Tweak unit tests
* Render whole stock location path
- Render location pathstring, not just name
- Brings tables into line with how location is displayed elsewhere
- Closes https://github.com/inventree/InvenTree/issues/9627
* Handle error on worker boot
* Provide mechanism for config to override global settings
* Ensure overrides are observed on save
* Refactor
* Add "read_only" field to serializer
* Prevent editing for read_only settings
* Bump API version
* Update docs
* Secure logs
* Override applies to default_value
* override get_setting method
* Add unit test
* Utilize new approach to override SITE_URL
* Docs updates
* Docs tweaks
* Shortcut for get_global_setting
* Remove previous change
- Allow validation to be performed within the InvenTreeSetting class
* Override INVENTREE_BASE_URL setting
* Handle error on worker boot
* Tweak unit test
* add hidden field and logic to reduce clicks for mfa logins
* refactor to seperate function to reduce complexity
* fix missing imports
* fix style
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Add shell task
* Filter parts by parameter value
* Allow more operation types
* Working on table filtering
* Filter improvements
* Update on enter key
* Improved query logic
* Enable filter for "generic" parameter types
* Placeholder text
* Documentation updates
* Fix typo
* Fix for boolean part parameter field
* Add API unit testings
* Cleanup
* add playwright tests
* feat(frontend): Add control character handling to barcode text input.
Ports part of 8059fb1e05 to Platform UI.
Fixes#7529.
* feat(frontend): Submit barcode scan on EOT character.
Automatically submits 2D barcode scans when end of transmission character is input.
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* feat(frontend): Add grouping in the admin center
* fix name
* make sections more distinct
* re-arrange sections
* ensure plugin panels work
* fix missing key issue
* fix test name
* Provide callback function for barcode scan dialog
* Adds hook for barcode scan dialog
* Fix callback processing
* Add function to extract API URL for a model instance
* Tweak page titles
* Extract instance data when scanning a barcode
* Scan item into location
* Scan in stock location
* Remove notYetImplemented func
* Revert "Remove notYetImplemented func"
This reverts commit a35408380e.
* Add stock item action
* Add playwright tests
* Pass more stuff to window
* Expose form functions to plugin context
* Breaking: Render plugin component in context tree
- Required due to createRoot function
- Adds necessary context providers
* Fix context
* Provide MantineThemeContext
* Bundle mantine/core
* Hack for useNavigate within ApiForm
- Errors out if called within plugin context
- Workaround to catch the error
* Update build cmd
* Define config for building "Library" mode
* Update package.json
* Add basic index file
* Factor out ApiEndpoints
* factor out ModelType
* Factor out role enums
* Further refactoring
* More refactoring
* Cleanup
* Expose apiUrl function
* Add instance data to plugin context type def
* Tweaks for loading plugin components
- LanguageContext must be on the inside
* Tweak StylishText
* Externalize notifications system
* Update lingui config
* Add functions for checking plugin interface version
* Extract package version at build time
* Enhance version checking
* Revert variable name change
* Public package
* Add README.md
* adjust packge name
* Adjust name to include org
* Update project files
* Add basic changelog info
* Refactoring to expose URL functions
* Refactor navigation functions
* Update package and README
* Improve navigateToLink function
* Refactor stylish text
- Move into ./lib
- Do not require user state
* Revert changes
- StylishText throws error in plugin
- Low priority, can work out later
* expose function to refresh page index
* Provide RemoteComponent with a method to reload itself
* Bump version
* Cleanup tests
* Prevent duplicate --emptyOutDir arg
* Tweak playwright tests
* Expose role and permission enums
* Fix imports
* Updated docs
* Fix spelling, typos, etc
* Include more package version information
* Expose more version context
* Cleanup
* Probably don't need hooks
* Fix links
* Docs updates
* Fix links
* Add checkClose function to forms
- Allow custom check for whether form should be closed
* Add form to jump to serial number
* Tweak stock detail display
* Remove dead field
(might fix later, but it's hard with the current API)
* Add some icons
* Enhance extract_int functionality
* Add API endpoint for "next" and "previous" serials for a given stock item
* Add serial number navigation on stock item page
* Add playwright tests
* Bump API version
* Fix for serial number clipping
* Another tweak
* Fix AllUnitList schema operation and serializer to match actual response
* Fix LicenseViewSerializer to match actual response
* Remove references to credits page (removed in #8811)
* Allow null commit_branch for detatched HEAD state
* Fix version formatting, add test, clean up parser
* Fix schema mapping and return type for VersionTextView
* Fix and test version off-by-one bug
* API version bump
* Merge version tests, enforce more formatting constraints for parsing
* Cleanup UserDetail page
* Cleanup display
* Re-use UserTable
* Add 'users' permission role
* Check user roles in "admin center"
* Revert "Add 'users' permission role"
This reverts commit 35b047b2f9.
* Improve display logic
* Expose group rule-sets to API
* Prefetch rule_sets
* Add 'label' to RuleSetSerializer
* Add basic RuleSet table
* Add API endpoints for RuleSet model
* Edit group roles via table
* Refactor user permissions checks
- Remove duplicate function calls
- Refactor permission checks into new file
* Further refactoring
* Even more refactoring
* Fix user settings permission
* Add TransferList component
* Tweak GroupDrawer
* Tweak UserDrawer
* adjust user groups via API / UI
* Allow "users" detail on Group API
* Bump API version
* Enumeration of RuleSet name
* Update
* Add permission check
* Update src/frontend/src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx
Co-authored-by: Matthias Mair <code@mjmair.com>
* uncomment warning
* Extend enum usage
* More checks
* Bug fix
* Fix permission checks
* Additional testing for user roles endpoint
* Updated permission classes
- RolePermission with read-only fallback
- RolePermission with additional staff requirement
* Do not allow creation of new RuleSet objects
* Cleanup permission checks and unit tests
* Cleanup UI permission checks
* Updated class dostrings
* Cleanup
* Cleanup permission checks for UserTable
* Add playwright tests for "permission" checks
- Basic for now
- Can be extended in the future
* Tweak unit tests
* Adjust layout of warning / error messages
* Tweak group table logic
* Table cleanup
* Display roles associated with a particular group
* Cleanup
* Tweak user detail page
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* Updated type hints
* Fix tooltip bug
* Check user when sending notification
* Fix test
* Update unit test
* More unit test fixes
* Tweak playwright tests
* add search notes and tie user search settings to checkboxes in search drawer
* add user setting to optionally search the notes of objects
* add search filter test
* add PR link
* add limit parameter
* typo, meant to check part result
* resolve api_version.py conflict
* don't use search_whole and search_regex together
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* refactor(frontend): seperate Alerts into own component
* refactor debug mode info
* add error code for debug mode and render help links in alerts
* add error message for background worker
* add error code for server restart required
* Add error code for missing email settings
* fix various typings
* add error code for missing migrations
* Pass extra options through to data export plugins
* Add PartParameterExporter plugin
- Useful for including part parameter data in exporter
* Fix bug in InvenTreeTableHeader
* enable export for partparametertable
* Simplify tests
* Add typing hints
* Allow port 4173 (vite preview)
* Change 'base' attr based on vite command
* Allow api_host to be specified separately
* Harden API host functionality
* Adjust server selections
* Cleanup vite.config.ts
* Adjust playwright configuration
- Allow to run in "production" mode
- Builds the code first
- Runs only the backend web server
- Not suitable for coverage
* Tweak github actions
* Tweak QC file
* Reduce number of steps
* Tweak CI file
* Fix typo
* Ensure translation before build
* Fix hard-coded test
* Test tweaks
* uncomment
* Revert some changes
* Run with gunicorn, single worker
* Reduce log output in DEBUG mode
* Update deps
* Add global-setup func
* Fix for .gitignore file
* Cached auth state
* Tweak login func
* Updated tests
* Enable parallel workers again
* Simplify config
* Try with a single worker again
* Single retry mode
* Run auth setup first
- Prevent issues with parallel test doing login
* Improve test setup process
* Tweaks
* Bump to 3 workers
* Tweak playwright settings
* Revert change
* Revert change
* Update node version
* Install nvm
* Use n instead of nvm
* Use same approach in devcontainer
* nvm -> npm
* Split commands
* Fix typo
* Workaround : install bash
* Tweak playwright tests
* Bump number of retries
* Update deps
* Only one worker
* SEcurity fix
* Adjust
* Refactor variable name
* Add part information when allocating serial numbers
- Easier identification of which part is being allocated
* Fix for part stock rendering
* Add function to star / unstar a part
* Also use with category
* Email notification when a part is changed
Fixes#7834
* enable disabling of recent checks
* Add error handler
* remove unneeded function
* Define which builtin plugins are always-active
* Adds 'mandatory' property to PluginConfig
* Update API / frontend
* Fix form method
* Tweaks
* Bump API version
* Tweak unit tests
* [UI] Change default web prefix
- Adjust default from "platform" to "web"
- Much more standard prefix
* Cleanup
* Fixes for playwright tests
* Fix unit tests
* Refactor base_url into getBaseUrl
* Move data export code out of "importer" directory
* Refactoring to allow data export via plugin
* Add brief docs framework
* Add basic DataExportMixin class
* Pass context data through to the serializer
* Extract custom serializer
* Refactoring
* Add builtin plugin for BomExport
* More refactoring
* Cleanup for UseForm hooks
* Allow GET methods in forms
* Create new 'exporter' app
* Refactor imports
* Run cleanup task on boot
* Add enumeration for plugin mixin types
* Refactor with_mixin call
* Generate export options serializer
* Pass plugin information through
* Offload export functionality to the plugin
* Generate output
* Download generated file
* Refactor frontend code
* Generate params for downloading
* Pass custom fields through to the plugin
* Implement multi-level export for BOM data
* Export supplier and manufacturer information
* Export substitute data
* Remove old BOM exporter
* Export part parameter data
* Try different app order
* Use GET instead of POST request
- Less 'dangerous' - no chance of performing a destructive operation
* Fix for constructing query parameters
- Ignore any undefined values!
* Trying something
* Revert to POST
- Required, other query data are ignored
* Fix spelling mistakes
* Remove SettingsMixin
* Revert python version
* Fix for settings.py
* Fix missing return
* Fix for label mixin code
* Run playwright tests in --host mode
* Fix for choice field
- Prevent empty value if field is required
* Remove debug prints
* Update table header
* Playwright tests for data export
* Rename app from "exporter" to "data_exporter"
* Add frontend table for export sessions
* Updated playwright testing
* Fix for unit test
* Fix build order unit test
* Back to using GET instead of POST
- Otherwise, users need POST permissions to export!
- A bit of trickery with the forms architecture
* Fix remaining unit tests
* Implement unit test for BOM export
- Including test for custom plugin
* Fix unit test
* Bump API version
* Enhanced playwright tests
* Add debug for CI testing
* Single unit test only (for debugging)
* Fix typo
* typo fix
* Remove debugs
* Docs updates
* Revert typo
* Update tests
* Serializer fix
* Fix typo
* Offload data export to the background worker
- Requires mocking the original request object
- Will need some further unit testing!
* Refactor existing models into DataOutput
- Remove LabelOutput table
- Remove ReportOutput table
- Remove ExportOutput table
- Consolidate into single API endpoint
* Remove "output" tables from frontend
* Refactor frontend hook to be generic
* Frontend now works with background data export
* Fix tasks.py
* Adjust unit tests
* Revert 'plugin_key' to 'plugin'
* Improve user checking when printing
* Updates
* Remove erroneous migration file
* Tweak plugin registry
* Adjust playwright tests
* Refactor data export
- Convert into custom hook
- Enable for calendar view also
* Add playwright tests
* Adjust unit testing
* Tweak unit tests
* Add extra timeout to data export
* Fix for RUF045
* Allow bulk selection of sales order shipment
* Tweaks
* Support bulk-edit for location parent and category parent
* Allow more login attempts for playwright
* Refactor BulkDeleteMixin
* Implement BulkUpdateMixin class
* Refactor NotificationsTable
- Use common bulkdelete operation
* Update successMessage
* Update metadata constructs
* Add bulk-edit support for PartList endpoint
* Implement set-category for part table
* Cleanup old endpoint
* Improve form error handling
* Simplify translated text
* Add playwright tests
* Bump API version
* Fix unit tests
* Further test updates
* https://github.com/inventree/InvenTree/pull/6293
* refactor to a shared component
* refactoring container stuff to a wrapper
* move title to wrapper
* move logoff and loader to wrapper
* mvoe functions to general auth
* seperate login and register into seperate pages
* unify auth styling
* rename component
* adapt to new look
* check if registration is enabled
* feat(frontend):show if redirecting
* reduce diff
* fix missing import
* remove double warning
* Add deps for @fullcalendar
* Basic calendar setup
* Add locale support
* Add custom <SegmentedIconControl> component
* optional 'control' for panel
* Scaffolding out build index page
* Fetch build orders based on calendar dates
* Display builds
* Click to navigate to build
* Working on custom header
* Implement button functionality
* Display current month name
* Implement datepicker dropdown
* Adjust layout
* Custom rendering
* Include part detail
* Implement hook to track calendar state
* Clearing search causes immediate update
* Offload core functionality into hook
- Adds search input
* Spread props correctly
* Cleanup
* Allow build orders to be edited directly from calendar view
* Cleanup
* Fix for InvenTreeCalendarProps
* Improve date range filtering for Build model
* Simplify BuildFilter
* Refactoring
* PurchaseOrder calendar implementation
* Allow edit of purchase orders
* Refactor and implement for all order types
- Add missing "issue_date" field for SalesOrder
- Refactor API for other order types
- Fix rendering issues
* Bump API version
* Add playwright tests for calendar (simple)
* Fix migrations
* Simplify notifications
* Refactor filter components
- Make them more generic
* Enable custom filters for calendars
* Custom filters per table
* Display status label
* Refactoring
* Update playwright tests
* Update build order docs
* Bug fix for order date editing
* Update purchase order docs
* Return Order docs
* Update date formatting
* Caddyfile: Redirect asset requests
- Ensure the static asset files are served by the proxy
- Reduce gunicorn / python load
- Significant server performance increase
* Allow CORS requests to 'assets' path
* Update static assets path for vite build
* Remove RedirectAssetView
* Specify relative base path
Ref: https://vite.dev/guide/build.html#relative-base
* Revert settings.py
* Revert caddyfile
* Remove defunct unit test
* Add timeout to test
* Add attributes to TableFilter type def
* Refactoring
* Refactor ProjectCodeFilter
* Provide simple string rendering of a dynamic filter
* Refactor ResponsibleFilter
* Further refactoring
* More refactoring
* Fix placeholder value
* Add user profile
* fix choice set
* ensure primary_group is valid
* add missing migrations
* fix tests
* merge migrations
* add migration test
* add new model to ruleset
* ensure changed to the m2m conenction also validate primary grups
* move signals
* fix import?
* patch user language through
* use set methods correctly
* bump api
* refactoring to make debugging and extending easier
* fix dum recurrsion problem
* fix user pk lookup
* rename migration
* add user and group page
* cleanup
* add hoverCard for user / owner / group render
* include owner_model in owner responses
* move user serializers to users
* add profile to list
* add brief serializer for profiles
* ensure profile is present in most apis
* extend rendered data
* store and observe langauge in profile
* reduce unneeded complexity
* enable access to full profle (including internal fields) in me serializer
* move theme to a single object
* persist theme settings
* fix radius lookup
* remove debug message
* fix filter
* remove unused field
* remove image fields
* add setting to control showing profiles
* fix settings
* update test
* fix theme reload
* Add contact UI
* Add profile edit screen
* fix test
* Add testing for user theme panel
* fix var name
* complete coverage of theme
* Add test for new pages
* make test more reliable in strict mode
* remove step
* fix ref
* add verbose names
* fix used setting
* extend tests
* fix permissions
* fix lookup
* use lookup to enuse ursls stay valid
* update migrations
* Add position field
* fix permissions
* Force label printing to background worker
* Refactor "check_reload" state of machine registry
- In line with plugin registry
- More work can be done here (i.e. session caching)
* Better handling of call_plugin_function
* Wrapper for calling machine function
* Use AttributeError instead
* Simplify function offloading
* Check plugin registry hash when reloading machine registry
* Cleanup
* Fixes
* Adjust unit test
* Cleanup
* Allow running in foreground if background worker not running
* Simplify call structure
* https://github.com/inventree/InvenTree/pull/6293
* refactor to a shared component
* refactoring container stuff to a wrapper
* move title to wrapper
* move logoff and loader to wrapper
* mvoe functions to general auth
* seperate login and register into seperate pages
* unify auth styling
* rename component
* adapt to new look
* check if registration is enabled
* reduce diff
* reduce diff
* fix import
* add aria label to make more reliable
* make cap match
* ensure that confirm only works with valid inputs
* leave error for non-matching pwd to API
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* use ref pattern on PO duplicate
* use ref patterns on duplicate for other types of orders
* revert unintentional change to pre-commit
* add playwright tests
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Harden playwright tests
* Refactor search drawer
- Allow result groups to collapse
* Add tooltip
* Fix menu position
* Navigate through to complete list of results
* Refactor table headers
* Add index pages for SupplierPart and ManufacturerPart models
* backend: allow split search by company type
* Fix panel naming bug
* Fix model URLs
* Split company results by company type
- Allows better routing to results list
* Remove debug msg
* Fix 'button within button' issue
* Additional playwright tests
* Fix default values for pricing override
* Fix broken calculation for sale pricing
- Was previously excluding COMPLETED orders
* Fix for PricingOverviewPanel
* Fix for InvenTreeMoneySerializer
- Numbers should be represented as numbers!
* Front-end wrangling too
* Fix unit test
* adjust breadcrumbs to include current item
* Add last breacdrumb to various pages
* Add user settings for last breadcrumb
* add breacrumbs to company subpages
* use getDetailUrl instead
* set default
* change description
* fix styles
* fix merge
* rename to camelCase
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Add new global setting
* Convert to base currency on receipt
* Fix total price rendering in PO table
* Fix for tasks.py
* Update .gitignore
- Ignore auto-generated files
* Update docs
Improved documentation for pricing/currency support
* Updates
* Fix caching for default currency
- Now managed better by session caching
* Add unit test for new feature
* Playwright test fixes
* Validate copying of media files
* Validate media files
* Adjust playwright setup
* Allow multiple attempts to fetch release information
* Tweak unit tests
* Revert changes to .gitignore file
- Just trying stuff at this point
* Add debug msg
* Try hard-coded paths
* Remove debug prints
* Abs path for database
* More debug
* Fix typos
* Revert change to db name
* Remove debug statements (again)
* Cleanup playwright tests
* More test tweaks
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* Extend api to also include customize functions
* [FR] Re-Implement customize options
Fixes#8818
* re-implement header
* add splashscreen customisation
* make simpler
* fix rendering
* bump api
* 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
* Increase upload timeout for attachments
* Increase default API timeout
- To account for distant connections
* Use longer timeout when uploading files
* Debug for RTD testing
* Adjust commit extraction
* Cleanup debug output
* Include more vars in output
* Move debug output to top of file
* Add useful link
* Slight tweak to <DetailsTable>
* Responsive layout for user settings
* Make menu links responsive
* Update <FactCollection />
* Update part pricing panels
* Adapt details column count
- Based on element width
* Pin minimum size of thumbnail
* Cleaner implementation
* Revert again
- Use element size, not screen size
* Add expiry on line item receive from PO
* add backend test
* reset pre-commit
* increment inventree api version
* use None as default expiry date
* check global setting STOCK_ENABLE_EXPIRY
* check for default expiry in line item receive
* use dayjs
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* Add 'created_by' field to order API endpoints
* Add 'created_by' filter
* Allow ordering by 'created_by' field
* Update UI tables
- Show "Created By" column
- Column sorting
- Column filtering
* Cleanup order detail pages
* Bump API version
* Refactor table filters
* Fix BuildOrderTable filters
* Create ApiContext provider
* Utilize new context
* Remove api from global context
* Refactor <InvenTreeTable>
- No longer need hard-coded API constant
* Refactor useInstance hook
* Refactoring
- QueryCountDatshboardWidget
- NotesEditor
- RenderInstance
* Refactor multiple tables
* Fix typos
* Refactor useFilters hook
- Allow plugins to use this hook!
* Further refactoring
* Refactor API forms
* Cleanup context routing
* Fix provision order
* Update page permissions
- Add permission check to <InstanceDetail>
- HIde breadcrumbs and tree for part
- Hide breadcrumbs and tree for stock
* Additional permissions checks
* 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 06c858ae7c.
* 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
* Re-add html account base
Fixes#8690
* fix base template
* override dj-rest-auth pattern to fix fixed token model reference
* pin req
* fix urls.py
* move definition out to separate file
* fix possible issues where email is not enabled but UI shows that registration is enabled
* fix import order
* fix token recovery
* make sure registration redirects
* fix name change
* fix import name
* adjust description
* cleanup
* bum api version
* add test for registration
* add test for registration requirements
* 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
* Use LABEL_ENABLE and REPORT_ENABLE settings in PUI
* Cleanup base.html
- Should reduce db hits slightly
* Remove defunct homepage settings
* Cleanup old settings
* Adjust unit test
* API fixes for SupplierPart
- Move API filtering into SupplierPartFilter class
- Correct field annotation for detail view
* Add "in stock" and "no stock" badges to SupplierPart detail
* Update details
* Annotate 'on_order' quantity for SupplierPart
* Add "has_stock" filter to SupplierPart API
* Improve API query efficiency
* Add 'has_stock' filter to table
* Update <SupplierPartDetail>
* Bump API version
* Increase query limit
* Add "quantity" field to ReturnOrderLineItem model
* Add 'quantity' to serializer
* Optionally split stock when returning from customer
* Update the line item when splitting
* PUI updates
* Bump API version
* Add 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
* Set status when returning from customer
* Fix default customer for return order table
* Set status when receiving items against a ReturnOrder
* Bump max query time for currency endpoint
* Bump API version
* 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
* fix refreshInstance type and remove return
* Add seperate refresh function with promise as return
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* 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 878fba91d0.
* 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
* Add "active" filter to PurchaseOrderLineItem.part field
* Fix for allocation serial numbers to incoming items
* Validate serial numbers per line item
* Improved permission checking for data importing
- Permission checks on the imported model type
* Improved validation for DateField
* Ignore MissingRate errors
- Do not send these to sentry
* Improved permission checking for data importing
- Permission checks on the imported model type
* Improved validation for DateField
* Fix for unit test
* 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
* Include actual model name in notification repot
* Include model_id in API
* Refactoring for NotificationDrawer
- Add error boundary
- Separate rendering func for individual entry
- Allow router navigation
- Better link introspection
- Add tooltip for notification description
* Add URL support for errors
* Allow navigation to an individual error in the admin center
* Updates
* Add rendering method for 'error' model type
* 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
* Revert change to BuildItem API
- Requires "allocations" for build output table
- Probably can refactor this later
* Bug fix for BuildOutputTable in PUI
- Correct calculation for "fully allocated"
* Adjust annotations for serializer
* Bump API version
* Enforce lower case for model name checks
* Enhance settings validation
- Add support for "float" settings type
- Improve validation code and error handling
* 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 "IPN" column to build order allocated stock table
* Allow sorting and searching by IPN
* Handle allocations where allocated but required == 0
* Add "no info available" message to part scheduling
* Adjust PartSchedulingTable
* Icon fix
* Add "latest serial number" information to PartDetail page
* Cleanup code for serial-number placeholder in forms
* Logic fix for displaying non-unity pack quantity
* Fix description field on SupplierPart page
* Fix duplicate table column
* Create simply PartSalesPanel component
* Updates
* Add API endpoint for SalesHistory
- And serializers
- Basic, needs lots of work still
* Fix for PartDetail page
* SalesOrder page updates
* More page updates
* Update API endpoint
* Backend improvements
* add API endpoint
* Front-end rendering
* Make frontend generic
* Fix for CompanyTable
* Make back-end API more generic
* More API improvements
* Implement history for purchasing
* API / UI fixes
* Remove debug statements
* Support file download
* Add endpoint for build order history
* Implement UI for build order history
* Revert backend
* Revert frontend
* Remove unsed imports
* Cleanup permission checks
* Bump API version
* Improve token management code
- Do not request token if other cookies are unavailable
- Do not fetch user data if token is unavailable
- Prevents connection error logs
* Fix for CompanyTable - onRowClick