2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-27 21:16:48 +00:00

55 Commits

Author SHA1 Message Date
Oliver
d4cff1a5b9
Barcode scanner updates (#562)
* Add BUILDING.md

* Replace scaning library

- Out with qr_code_scanner
- In with flutter_zxing

* Update specs for jdk / kotlin / gradle

- NFI what this all means?

* Refactor barcode scanning widget

* Refactor barcode overlay

* Add handlers

* Update release notes

* Fix AppBar color

* Enhance attachment widget

* remove unused import

* Improved icon

* Select theme from main drawer
2024-12-06 00:08:04 +11:00
Oliver
2e798b1bd1
Order picture action (#557)
* 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
2024-12-05 14:38:53 +11:00
Oliver
20e454d287
StockItem Updates (#550)
Some checks failed
Android / build (push) Has been cancelled
CI / test (push) Has been cancelled
iOS / build (push) Has been cancelled
* bump version

* Add new helpers for StockItem

* Navigate to sales order from stock item

* Navigate to customer (if specified)

* linting fix
2024-11-20 16:47:04 +11:00
Oliver
4499f3e00e
Barcode workflow (#485)
* 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
2024-04-18 22:53:21 +10:00
Oliver
a889417fe0
Company active filters (#484)
* Add support for "active" status for:

- SupplierPart
- Company

* Add filtering options

* Fix default value

* Add inactive tiles

* Update text and release notes
2024-04-18 21:48:45 +10:00
Oliver
3ea5f8934c
Sales order allocation (#464)
* 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
2023-11-27 22:51:20 +11:00
Oliver
1ec1a867d9
Add part to sales order via barcode scan (#461)
* Add part to sales order via barcode scan

* Update release notes

* Remove unused imports
2023-11-22 00:14:55 +11:00
Oliver
bf3df770c7
Po barcode scan (#458)
* 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
2023-11-20 23:48:42 +11:00
Oliver
8cb5dd20f0
Barcode Scanning Updates (#448)
* 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
2023-11-14 07:39:06 +11:00
Oliver
bb87d0dd6d
Item deplete fix (#452)
* Add status code information to server error message

* More informative error message for 404

* Update release note
2023-11-12 23:43:52 +11:00
Oliver
bdd5470e68
Sales order support (#438)
* 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
2023-11-12 23:13:22 +11:00
Oliver
c641cea369
Scanner wedge mode (#437)
* 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
2023-10-25 22:40:49 +11:00
Oliver
76b6191a67
Token auth (#434)
* 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
2023-10-23 01:29:16 +11:00
Bobbe
67fd6a564a
Add POReceiveBarcodeHandler to support barcode/po-receive/ endpoint (#421)
* 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>
2023-10-19 23:28:32 +11:00
Oliver
443e6e856c
Label print updates (#399)
* 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
2023-07-16 00:51:11 +10:00
Oliver
7ef6da4b2a
Add extra filtering options for stock items (#394) 2023-07-07 21:47:27 +10:00
Oliver
e9eb84eace
Stock display (#379)
* 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
2023-06-24 11:34:42 +10:00
Oliver
71bf3ad049
App orientation (#369)
* Configurable screen orientation

- Follow system (default)
- Fixed in portrait
- Fixed in landscape

* Fix for dialog
2023-06-13 19:53:50 +10:00
Oliver
b051aeccda
Barcode refactor (#363)
* Move barcode.dart

* Fix

* Refactoring barcode scanner code:

- Abstract the "controller" class (for future development)
- Break barcode scanning code out into multiple files
- Add CameraBarcodeController class (qr_code_scanner)

* Add await

* Make barcode scan delay configurable

* remove unused import

* Handle camera exceptions

* Improve sequencing for camera scanner

- Show loading overlay
- Prevent reload if view is no longer mounted

* Update docstring

* Update release notes
2023-06-11 09:41:26 +10:00
Oliver
383571707e
Stock test actions (#345)
* 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
2023-04-28 23:27:59 +10:00
Oliver
b7e806efee
PO Line Item Improvements (#340)
* 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
2023-04-21 23:15:00 +10:00
Oliver
e23a8b4d5e
Project code support (#336)
* 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
2023-04-21 21:12:22 +10:00
Oliver
232f721712
Fix duplicate serial number field (#334) 2023-04-20 20:47:40 +10:00
Oliver
28ed1ed545
Improve supplier part detail screen (#326)
* Improve supplier part detail screen

* Update release notes
2023-04-19 21:17:24 +10:00
Oliver
a3d712d11d
Adds "dark mode" support (#317)
* Adds "dark mode" support

- Uses adaptive_theme package

* CI fixes

* More fixes

* Update release notes
2023-04-16 21:10:57 +10:00
Oliver
943104f20c
Add actions to issue or cancel purchase orders (#313) 2023-04-11 22:52:27 +10:00
Oliver
26b86a2194
Update status codes (#307)
* 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
2023-04-10 23:12:30 +10:00
Oliver
020cc4497c
PO Contact (#305)
* 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
2023-04-10 16:59:45 +10:00
Oliver
347e80d8e2
Adds support for currency display (#277)
* 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
2023-03-08 23:42:26 +11:00
Oliver
15bf109296
Supplier part support (#253)
* 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
2023-02-04 09:05:36 +11:00
Oliver
730521fd00
New barcode actions (#218)
* 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
2022-12-05 23:39:40 +11:00
Oliver
efb6fc353e
Bom optional (#227)
* Split part settings onto different screen

* show_bom setting controls whether BOM information is displayed

* linting
2022-12-04 23:05:35 +11:00
Oliver
c2574e9fa5
Part parameters (#224)
* 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
2022-12-04 20:51:48 +11:00
Oliver
207e5ec6c5
Adds option for deleting attachments from the app (#222)
* Adds option for deleting attachments from the app

Closes https://github.com/inventree/inventree-app/issues/153

* Add entry to release notes
2022-12-02 22:10:56 +11:00
Oliver
9559b8602e
Locale switch (#200)
* 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
2022-08-02 15:54:59 +10:00
Oliver
01dd046dd1
Display overlay screen for blocking operations (#186)
* 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
2022-07-20 09:05:21 +10:00
Oliver
13ebaf43e1
List refactor (#179)
* Catch paginator bug if widget is disposed before request returns

* Refactoring paginated query widget

- Add option to enable / disable search filters

* Major refactor of paginated search widget

- Learned something new.. a state can access widget.<attribute>
- THIS CHANGES EVERTHING

* Preferences: Add code for tri-state values

- Also improve unit testing for preferences code

* Allow boolean form fields to be optionally tristate

* paginator: Allow custom boolean filters

* Remove outdated filtering preferences

* Refactor filter options

- Allow specification of more detailed options

* Add custom filters for "part" list

* filter tweaks

* Remove legacy "SublocationList" widget

* Add filtering option for locationlist

* Updates for stock location widget

* Refactor category display widget

* More widget refactoring

* Update main search widget

* Fix unit tests

* Improve filtering on BOM display page
2022-07-19 23:29:01 +10:00
Oliver
e03a8561b9
Main screen loading indicator (#183)
* 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
2022-07-19 23:10:06 +10:00
Oliver
aa274b2e45
Stock location scan (#169)
* 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
2022-07-18 22:10:00 +10:00
Oliver Walters
847fda7652 Enable ordering for purchase order list 2022-07-06 21:24:26 +10:00
Oliver Walters
c3e6d3f902 Widget cleanup 2022-07-06 21:13:07 +10:00
Oliver Walters
a450154bac Add sorting options for the StockItem list 2022-07-06 21:07:19 +10:00
Oliver Walters
591c6a5592 Update stock display to indicate allocations 2022-07-05 18:38:28 +10:00
Oliver Walters
62df40f4b3 Display "variants" in part detail view 2022-07-05 17:14:00 +10:00
Oliver Walters
4a695fa4ef String fixes 2022-06-06 21:15:58 +10:00
Oliver Walters
aa4317a2fe Add support for "quarantined" stock item status 2022-06-03 19:51:08 +10:00
Oliver Walters
acf89426ce Fix for search screen
- Change input and controller
- Add focus node
- Add "searching" indicator
2022-05-19 20:38:28 +10:00
Oliver Walters
bc53dafaba Add plugin support status to server information screen 2022-05-10 08:12:53 +10:00
Oliver Walters
5ba887d59b Refactor locate function 2022-05-10 00:28:49 +10:00
Oliver Walters
03c6de8255 Stock location can now be identified via the app 2022-05-10 00:15:20 +10:00