* 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 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
* 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>