Commit Graph
88 Commits
Author SHA1 Message Date
Reza Fouladian ca655f36fe Add intent wedge scanner, MDM support for Android (#863)
Add Android intent wedge scanner support with auto configuration for supported Zebra and Datalogic devices.
Intent wedge scans can be done without pressing the scan button first.

Adds the ability for an MDM server to push settings on Android.
2026-08-16 13:59:20 +10:00
Oliver 73b8de565a Img upload (#858)
* Refactor existing code for image upload

* re-encode cropped image to jpg

* Fix UX

* prevent crop from blocking UI

* change default action
2026-07-14 15:59:37 +10:00
Oliver 0fe2bdd507 Transfer order (#854)
* Add API version check

* Implement basic transfer order support

* add link to drawer

* Adjust dashboard display order

* Support transfer order allocation detail

* Add progress bar

* Enable scan of transfer order
2026-07-14 15:37:43 +10:00
Oliver e301abebd8 display model pk entries (#851) 2026-07-06 23:18:51 +10:00
Oliver 349a8e0ef5 UI updates (#849)
* Updated dashboard

- Display "outstanding" badges
- Display "overdue" badges
- Pull-to-refresh

* Remove dead code

* Refactor app colors

* Add "pending shipments" icon

* Remove custom spinner

* Refactor error dialog

* Updated redirect after login

* Refactor login/account pages

- Better UX and confirmation messages

* Refactor API error messages

* Improve token management

- Secure storage
- Handle session expiry
- Per-profile HTTPS certificate checks

* Improved error messages
2026-07-06 21:10:10 +10:00
Oliver a505fb4364 Check for update (#830)
- Closes https://github.com/inventree/inventree-app/issues/730
2026-05-31 10:56:43 +10:00
Oliver ea075f35e8 User info (#826)
* Enhanced user information in "about" view

* Add user info to nav drawer

* Update release notes
2026-05-30 14:19:32 +10:00
Ben HagenAsterix\Oliver <oliver@currawongeng.com>Oliver Walters
ea132599d8 Build Order (#673)
* WIP

* Remove debug msg

* Add required roles

* More roles

* Fix refresh for BuildDetail widget

* Add attachments widget

* Translated text

* Further updates

* More translations

* Form field updates

* Cleanup

* Code formatting

* Fix duplicate import

* formatting

* Remove duplicate switch case

* Update to match modern app

* Improved required parts list

* Filtering for build outputs

* Display list of allocated stock items

* Display source and destination locations

* Fix typo

* Add build orders to drawer

* Fix hard-coded string

* Set default filter value

* Tweak build fields (remove "notes")

* Fixes

* Add "start_date" to build edit form

* Disable editing of build line

* Tweak build item / build detail views

* Remove unused func

* Remove unused import

---------

Co-authored-by: Asterix\Oliver <oliver@currawongeng.com>
Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2026-04-21 15:45:37 +10:00
Oliver 4d415c8fa2 Update flutter version (#805)
* Update flutter version

- 3.32.4 to 3.41.6 (stable)

* Update version and release notes

* Update to modern API
2026-04-03 16:28:34 +11:00
Oliver 5339d6acc0 Check server state (#782) 2026-02-27 23:03:25 +11:00
Oliver ee553af93b Part requirements (#761)
* Add setting to control if part requirements are shown

* Split settings for Part and Stock

* Fetch part requirements information

* Add "building" indicator

* Show order allocation progress for part requirements

* Bump release notes

* Remove unused import
2026-02-02 22:52:53 +11:00
Oliver 97e4c98e46 Default filters (#755)
* Bug fix for filters

- Fix key shadowing

* Adjust default filters for stock list

* Adjust default filter values

* Add "active" filter for stock items

* Code formatting

* Add "default ordering" option

* Enable pathstring sorting

* dart format
2026-01-20 09:11:40 +11:00
Oliver a4631cda7a List filtering fix (#746)
* Bug fix for API forms without URL

- Ensure submitted data is returned

* Translate search fields

* Update release notes

* Remove debug message

* dart format
2026-01-14 15:15:21 +11:00
Alexander Leisentritt 3ee2192c92 Update barcode scan pause instruction text (#728) 2025-11-22 07:27:26 +11:00
Oliver 13d95dd1b1 Modern Label printing (#724)
* Basic widget

* Redirect label printing action

* Refactor label printing code

* Construct form elements

* Refactor to allow re-use of forms

* Basic rendering of label printing form

* Remove dead code

* Pass custom handler through to form context

* Refactoring API forms:

- Allow custom pk field name
- Add callback when values change

* linting

* Dynamically rebuild form

* Handle nested fields

* Handle label printing status

* Run dart format

* Update release notes

* Remove unused var

* Enable close icon

* Handle initial plugin default value

* Store default values:

- Selected template (per label type)
- Selected printing plugin

* Dart format

* Fix dart linting

* use setter

* Just use a public field
2025-11-22 07:26:37 +11:00
Oliver ed7d73b9c0 Default location (#715)
* Fix async loading of parent part

- Don't block render while fetching data

* Display default location on part detail page

* Use pathstring instead of name

* Update release notes

* Display in stock detail too

* dart format
2025-11-13 23:37:05 +11:00
Oliver 624655ec6b SalesOrderShipment (#697)
* Add detail widget for SalesOrderShipment

* Support editing of shipment details

* Rearrange SalesOrderDetail page

* Add support for attachments against shipment model

* refactoring

* Add shipment details page

* Add user actions for shipments:

- Check / uncheck
- Take photo

* Placeholder action to send shipment

* Send shipment from app

* Display pending shipments on the home screen

* Improve rending for shipments list

* Add class definition for SalesOrderAllocation

* Display list of items allocated against SalesOrderShipment

* Bump release notse

* Click through to stock item

* Bump version number

* dart format

* cleanup

* Remove unused imports
2025-10-24 13:36:10 +11:00
Oliver a0b8795b27 Allow purchase orders to be completed directly from the app (#686)
* Allow purchase orders to be completed directly from the app

* Code formatting
2025-08-19 11:37:37 +10:00
Oliver 2adf8e3430 Link icons (#677)
* Add LinkIcon component

* Visual UI updates

- Refactor some components
- Clearer text display
- Add obvious chevron icon when a "tile" will take the user somewhere else

* dart format

* Adjust release notes

* Add visual separator

* Cleanup unused imports
2025-07-04 21:16:04 +10:00
Ben Hagen eb30bbb2fa feat: add image cropping functionality with custom aspect ratios (#638)
* feat: add image cropping functionality with custom aspect ratios

* Update release notes
2025-06-24 23:17:36 +10:00
OliverandJarEXE 13abcae84c Part pricing detail (#655)
* Implement part pricing data and new part pricing widget

* improve part pricing widget and part pricing data. Add part pricing setting.

* Refactor helper func

* Tweak translated string

* Refactor part pricing page

* Update release notes

* Fixes

* More cleanup

---------

Co-authored-by: JarEXE <eykenj@gmail.com>
2025-06-14 10:56:56 +10:00
Oliver 1ab171f619 Barcode scan refactor (#651)
* Build file changes

Lots of changes required to meet compatibility of new mobile_scanner lib

* Increase build memory

* Refactor camera controller

- Use MobileScanner now
- Much better UX / feedback

* Cleanup

* Move test sheet file

* Update release notes

* Move actions to floating action buttons

* Tweak deps

* tweak github actions

* Updates
2025-06-06 14:54:03 +10:00
Oliver 72a78291b2 Order extra lines (#632)
* Define classes for extra line item

* Display PO extra line items

- Also, some refactoring

* Support extra line items for sales order

* linting fixes

* Update release notes
2025-04-15 20:49:05 +10:00
Oliver 25d7ac9189 Start date (#631)
Android / build (push) Has been cancelled
CI / test (push) Has been cancelled
iOS / build (push) Has been cancelled
* Support "start_date" for PurchaseOrder and SalesOrder

* Update release notes

* Add form fields
2025-04-15 15:45:09 +10:00
Oliver 1a3f48f48c Company create (#610)
Android / build (push) Has been cancelled
CI / test (push) Has been cancelled
iOS / build (push) Has been cancelled
* API: refactor checkPermission

- Rename to checkRole (actually what it is doing)
- Permission check will be incoming

* Add checkPermission function for API

* Create a new company

* Bump release notes

* Cleanup

* Fix
2025-02-08 10:36:26 +11:00
Oliver 854ef95fbf Order responsible (#602)
Android / build (push) Has been cancelled
CI / test (push) Has been cancelled
iOS / build (push) Has been cancelled
* Bump release notes and version

* Display responsible owner for purchase order

* Display responsible owner for sales order

* Display order completion date
2025-01-20 23:22:10 +11:00
Oliver 1363f7ee3a Edit attachment (#598)
CI / test (push) Has been cancelled
iOS / build (push) Has been cancelled
Android / build (push) Has been cancelled
* Edit attachment

- Allow editing of attachments once updloaed

* Update release notes

* Remove duplicate func
2025-01-11 17:11:17 +11:00
Oliver aac13ed5d6 Stock expiry (#590)
* Add stock expiry getters

* refactor date getters

* Display expiry information

* Update release notes

* Remove unused import
2024-12-23 22:25:55 +11:00
Oliver d84f76d482 Improve error management for label printing (#588)
- Handle empty label
- Handle empty printer
2024-12-23 10:36:36 +11:00
Oliver 524c5469f1 [refactor] Scan improvements (#577)
* Handle error on unexpected barcode response

* Add ManufacturerPart detail view

* Support barcode scanning for manufacturer part

* Refactoring for null checks

* Ignore selected errors in sentry

* Fix API implementation for ManufacturerPart

* Update release notes

* More error handling

* Decode quantity betterer

* Refactoring

* Add option to confirm checkin details

* Improve response handlign

* Cleanup

* Remove unused imports

* Fix async function

* Fix for assigning custom barcode

* Handle barcode scan result for company

* Fix

* Adjust scan priority

* Refactoring MODEL_TYPE

- Use instead of duplicated const strings

* @override fix
2024-12-14 15:24:23 +11:00
Oliver Walters 6690f10118 Handle condition where camera controller fails to initialize 2024-12-11 22:53:03 +11:00
Oliver 08e01a729b Updates
(cherry picked from commit 94125667d9cdd1bd486aa58a2c4908c143b47225)
2024-12-11 16:07:22 +11:00
Oliver f7d179e041 Assigned to me filter (#568)
* Add "assigned to me" order filter

* Update version and release notes
2024-12-10 19:30:02 +11:00
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)
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
BobbeandOliver 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