* Add "take picture" to purchase order detail
* Rename uploaded images
* Provide prefix when uploading images
* Add similar functionality for "sales order" detail
* Add new settings screens
* Control camera shortcut
* Bump release notes
* Refactor stock barcode operations into new file
* Add setting to control confirmation of stock transfer actions
* Update details when scannign stock item
* Confirm movement when moving items into location
* Cleanup
* Add support for "active" status for:
- SupplierPart
- Company
* Add filtering options
* Fix default value
* Add inactive tiles
* Update text and release notes
* New string
* Typo fix
* Add model for SalesOrderShipment
* Add placeholder button to sales order item
* Create a new shipment from the sales order detail view
* Fix API URL
* Add paginated shipment list
* Upate colors
* Add API form for allocation of stock to sales order
* Build out sales order line detail widge
* Use unallocated quantity
* Update release notes
* linting fix
* Refactor existing barcode scan endpoint
- Break out into new file just for purchase orders
* Handle scanning of salesorder
* Add new handler for adding items to PO via barcode
* Allocate with barcode
* Add new string
* Add new setting for controlling manual barcode scan
* Adds ability to pause and resume scanning with button
- Camera is still "live" during this
* Add UI elements
* Change scan setting
- "Continuous" scanning
- Enabled by default
* Update release notes
* Scanner updates
- Use "hold to pause" in continuous scan
- Use "tap to pause" in single scan
* Improve barcode scanning options
- Allow tap-to-pause or hold-to-pause
- More obvious user interactions
* Ensure consistent icon placement
* Remove separate setting for barcode pause mode
* Add new models for SalesOrder
- Create generic Order and OrderLine models with common functionality
* Refactor
- Move some widgets around
- Cleanup directory structure
* Add link to home screen and nav drawer
* Add SalesOrder list widget
* Linting fixes
* Fix string
* Refactor PurchaseOrderDetailWidget
* Tweaks to existing code
* linting
* Fixes for drawer widget
* Add "detail" page for SalesOrder
* Add more tiles to SalesOrder detail
* Allow editing of salesorder
* add list filters for sales orders
* Display list of line items
* Customer updates
- Display customer icon on home screen
- Fetch sales orders for customer detail page
* Cleanup company detail view
* Create new sales order from list
* Stricter typing for formFields method
* Create new PurchaseOrder and SalesOrder from company deatil
* Status code updates
- Add function for name comparison
- Remove hard-coded values
* Update view permission checks for home widget
* Add ability to manually add SalesOrderLineItem
* Add nice progress bar widgets
* Display detail view for sales order line item
* edit SalesOrderLineItem
* Fix unused import
* Hide "shipped items" tab
- Will be added in a future update
* Add code_scan_listener package
* Implement wedge controller widget
* Update barcode settings widget
- Allow user to choose which barcode scanner to use
* Fix typo
* Select barcode scanner widget based on user preference
* Fix rendering issues for wedge controller
* Update release notes
* Add unit test for wedge scanner widget
- Required some tweaks to other code
* Use better library
- https://github.com/fuadreza/flutter_barcode_listener
- Fork of https://github.com/shaxxx/flutter_barcode_listener
- Properly handles key "case" issues (shift, essentially)
- Verified that it works correctly for multiple character types
* Local copy of code, rather than relying on package which is not available on pub.dev
* Fix unit test
* Embed device platform information into token request
* Remove username and password from userProfile
* Display icon to show if profile has associated user token
* Remove username / password from login settings screen
* Refactor login procedure around token auth
* Refactoring
* Add profile login screen
- Username / password values are not stored
- Just to fetch api token
* Login with basic auth
* Pass profile to API when connecting
* Remove _BASE_URL accessor
- Fixes URL caching bug
* Add more context to login screen
* Add helper functions for unit tests
- Change default port to 8000 (makes testing easier with local inventree instance)
* api.dart handles basic auth now
* fix api_test.dart
* Further test improvements
* linting fixes
* Provide feedback when login fails
* More linting
* Record user details on login, and display in "about" widget
* Fix string lookup
* Add extra debug
* Fix auth values
* Fix user profile test
* Add POReceiveBarcodeHandler to support barcode/po-receive/ endpoint
* Remove german translation
* Add api version checks
* Add getOverlayText method to barcode handler
* Bump required API version to 139
* Update barcode.dart
The "quantity" field is not an integer, and can cause the app to crash if not handled correctly
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Allow download of printed label
* Add setting for controlling label printing
* Control display of label printing via setting
* Refactor label printing functionality
- Move to helpers.dart
- Will be used for other label types also
* Factor out request for label templates
* Add label printing support for part
* Support label printing for stock location
* update release notes
* Display stock quantity more prominently
* Cleanup search widget
* Update for stock_detail widget
* More tweaks
* Change bottom bar icon
* Display boolean parameters appropriately
* Adds ability to edit part parameters
* Bump icon size a bit
* Improvements to filter options
- Allow filtering by "option" type
- To start with, filter stock by status code
* Remove debug message
* Remove getTriState method
- No longer needed
- Remove associated unit tests
* Adjust filters based on server API version
* Muted colors
* Use FAB for stock item test result
* Change long press to tap
* Add setting to control display of stock tests results
* Add question mark if no result recorded
* Refactor thumbnail image
* Add paginated list of purchase order line items
* Refactor getBody() function
- No longer "have" to specify
- Can use getTiles for a simpler interface
* Add detail widget for polineitem
* add pricing info
* Receive line items via action button
* tweak color
* update release notes
* linting fixes
* Determine if project codes are supported
* Add helpers for boolean functions
* Adds helper methods for generic "model" class
- Will allow us to do some good refactoring
* Refactor the refactor
* Add debug support and getMap function
* Major refactoring for model data accessors
* Handle null values
* Add sentry reporting if key is used incorrectly
* Fix typo
* Refactor createFromJson function
* Add model for ProjectCode
* Display and edit project code for purchase orders
* Extra error info when connecting to server
* Adds accessors for various types of status codes
* Cleanup / refactor stock status codes
- No longer need to duplicate these on the app
* improvements to purchase order list
- Add option to show closed orders
- Render order status
* Add purchase order status to order detail widget
* Update release notes
* Cleanup for imports
* linting fixes
* Bug fix in API forms
- Allow form fields to specify custom filters at runtime
* Add "contact" model to purchase order edit form
* Add action to create new purchase order from list widget
* widget updates for purchase order
* Adds a helper function for rendering currency data
* Update helper functions for StockItem model
* Render purchasePrice correctly for stockitem
* Use currency_formatter library instead of money_formatter
* Add total price display for purchase order
* icon fix
* Bump version and release noes
* Add barebone list and detail widgets for the SupplierPart model
* Launch into SupplierPartList from CompanyDetail
* Update StockDetail widget
* Fixes for SupplierPart model
* Add images to supplier part list
* Add search functionality to SupplierPart list
* Added details to SupplierPartDetail widget
* Link through to supplier company
* Add some more details
* Adds ability to edit SupplierPart information
* Navigate to supplier part list from part detail page
* Display supplier part information on stock item detail page
* Add barcode scan response for SupplierPart
* Refactor barcode scanning code
* Navigate to supplier part detail from stock item page
* Support custom barcode for SupplierPart via app
* Cleanup comment
* linting
* Fix override
* Enable display of supplier list on home screen
* Code cleanup
* Update release noets
* Bump release notes
* Adds method for linking custom barcodes
* Custom getter method for determining if an item has barcode data
* Add method to check if the API supports "modern" barcodes
* Refactor custom barcode implementation for StockItem
- Needs testing
* Unit testing for linking and unlinking barcodes
* Fixes
* Refactor code for "custom barcode action" tile
* Add custom barcode action to StockLocation
* Add extra debug to debug the debugging
* Unit test fix
* Change scope I guess?
* remove handler test
* Adds class representing the PartParameter model
* Adds API method for determining support for PartParmaters
* Display part parameter count in part detail widget
* Adds user setting for controlling if part parameters are displayed
* Fix URL for model
* Widget for displaying part parameters
* linting
* Add function to set app locale
* Setting for selecting app language
- Adds requirement for "flutter_localized_locales"
- Change main app to stateless
* Reload entire app tree when language is changed
* Update release notes
* linting
* Catch state error in homepage widget
* Add flutter_overlay_loader lib
- Displays an overlay screen to indicate blocking operation
* Wrap blocking widget transitions in a loading overlay
- Prevents user from doing other things while loading
- Shows the user that something is happening
* Linting fixes
* Show overlay when uploading attachment file
* Show overlay when downloading file also
* Show overlay when loading or submitting API forms
- Major improvements to usability "feel"
* UI improvements for stock item test results widget
* Fix API_FORM bug
- onSuccess function was not being called
* Bug fix for login screen
- Prevent setState() from being called if the widget is no longer loaded
* Add callback function when API status changes
- Home screen uses this function to update connection status indicator
* Linting fixes
* Add action for scanning a stock location into another location
* Adds barcode scan handler for new functionality
* Handle scanning of stock location
* Cleanup
* Refactor existing barcode scanning functions
- Will require extensive testing and validation
* Add entry to release notes
* Delete dead code
* Improved ordering based on stock quantity
* Bug fix for 'adjustStock' function
* Improve error responses for barcode scanning
* Improve error responses for barcode scanning
* Remove old debug statements
* Add some extra explanatory texts
* Icon change
* Fixes for unit tests
* Adds extra functionality for user profile manager
* Refactor barcode code - do not rely on BuildContext
* Adds initial unit testing for barcode scanning
- Work on mocking barcode data
- Add hooks for testing snackBar and audio files
* Linting fixes
* More barcode unit tests
* Cleanup unit tests for barcode
* Remove unused import
* Handle HTTPException in API
* Improvements for API unit testing
* Unit testing for scanning item into location
* Add unit test for scanning in items from a location context
* Unit test for scanning location into parent location
* Improve feedback for barcode scanning events