* 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 35b047b2f9859c836993026fdd22eeeca950f450.
* 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