From 0f9d4127b421ecb0ca654359d94f79b8eff9acff Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 30 Aug 2023 09:47:48 +0300 Subject: [PATCH 1/8] [SubWorkOrder]: Auto Filled Fields Depending on ParentId --- ios/Podfile.lock | 268 ++++ lib/controllers/api_routes/urls.dart | 1 + .../api/service_requests_provider.dart | 18 + .../sub_work_order_details.dart | 60 + .../create_sub_workorder_page.dart | 13 +- .../spare_parts_details_bottom_sheet.dart | 2 +- pubspec.lock | 1231 +++++++++++++++++ 7 files changed, 1591 insertions(+), 2 deletions(-) create mode 100644 ios/Podfile.lock create mode 100644 lib/models/service_request/sub_work_order_details.dart create mode 100644 pubspec.lock diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 00000000..82bdbf8e --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,268 @@ +PODS: + - audioplayers_darwin (0.0.1): + - Flutter + - DKImagePickerController/Core (4.3.4): + - DKImagePickerController/ImageDataManager + - DKImagePickerController/Resource + - DKImagePickerController/ImageDataManager (4.3.4) + - DKImagePickerController/PhotoGallery (4.3.4): + - DKImagePickerController/Core + - DKPhotoGallery + - DKImagePickerController/Resource (4.3.4) + - DKPhotoGallery (0.0.17): + - DKPhotoGallery/Core (= 0.0.17) + - DKPhotoGallery/Model (= 0.0.17) + - DKPhotoGallery/Preview (= 0.0.17) + - DKPhotoGallery/Resource (= 0.0.17) + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Core (0.0.17): + - DKPhotoGallery/Model + - DKPhotoGallery/Preview + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Model (0.0.17): + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Preview (0.0.17): + - DKPhotoGallery/Model + - DKPhotoGallery/Resource + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Resource (0.0.17): + - SDWebImage + - SwiftyGif + - file_picker (0.0.1): + - DKImagePickerController/PhotoGallery + - Flutter + - Firebase/CoreOnly (10.12.0): + - FirebaseCore (= 10.12.0) + - Firebase/Messaging (10.12.0): + - Firebase/CoreOnly + - FirebaseMessaging (~> 10.12.0) + - firebase_core (2.15.0): + - Firebase/CoreOnly (= 10.12.0) + - Flutter + - firebase_messaging (14.6.5): + - Firebase/Messaging (= 10.12.0) + - firebase_core + - Flutter + - FirebaseCore (10.12.0): + - FirebaseCoreInternal (~> 10.0) + - GoogleUtilities/Environment (~> 7.8) + - GoogleUtilities/Logger (~> 7.8) + - FirebaseCoreInternal (10.12.0): + - "GoogleUtilities/NSData+zlib (~> 7.8)" + - FirebaseInstallations (10.12.0): + - FirebaseCore (~> 10.0) + - GoogleUtilities/Environment (~> 7.8) + - GoogleUtilities/UserDefaults (~> 7.8) + - PromisesObjC (~> 2.1) + - FirebaseMessaging (10.12.0): + - FirebaseCore (~> 10.0) + - FirebaseInstallations (~> 10.0) + - GoogleDataTransport (~> 9.2) + - GoogleUtilities/AppDelegateSwizzler (~> 7.8) + - GoogleUtilities/Environment (~> 7.8) + - GoogleUtilities/Reachability (~> 7.8) + - GoogleUtilities/UserDefaults (~> 7.8) + - nanopb (< 2.30910.0, >= 2.30908.0) + - Flutter (1.0.0) + - flutter_keyboard_visibility (0.0.1): + - Flutter + - flutter_local_notifications (0.0.1): + - Flutter + - flutter_sound (9.2.13): + - Flutter + - flutter_sound_core (= 9.2.13) + - flutter_sound_core (9.2.13) + - fluttertoast (0.0.2): + - Flutter + - Toast + - FMDB (2.7.5): + - FMDB/standard (= 2.7.5) + - FMDB/standard (2.7.5) + - GoogleDataTransport (9.2.3): + - GoogleUtilities/Environment (~> 7.7) + - nanopb (< 2.30910.0, >= 2.30908.0) + - PromisesObjC (< 3.0, >= 1.2) + - GoogleUtilities/AppDelegateSwizzler (7.11.4): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Environment (7.11.4): + - PromisesObjC (< 3.0, >= 1.2) + - GoogleUtilities/Logger (7.11.4): + - GoogleUtilities/Environment + - GoogleUtilities/Network (7.11.4): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (7.11.4)" + - GoogleUtilities/Reachability (7.11.4): + - GoogleUtilities/Logger + - GoogleUtilities/UserDefaults (7.11.4): + - GoogleUtilities/Logger + - image_picker_ios (0.0.1): + - Flutter + - MTBBarcodeScanner (5.0.11) + - nanopb (2.30909.0): + - nanopb/decode (= 2.30909.0) + - nanopb/encode (= 2.30909.0) + - nanopb/decode (2.30909.0) + - nanopb/encode (2.30909.0) + - package_info (0.0.1): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - permission_handler_apple (9.1.1): + - Flutter + - PromisesObjC (2.3.1) + - qr_code_scanner (0.2.0): + - Flutter + - MTBBarcodeScanner + - SDWebImage (5.17.0): + - SDWebImage/Core (= 5.17.0) + - SDWebImage/Core (5.17.0) + - share (0.0.1): + - Flutter + - shared_preferences_foundation (0.0.1): + - Flutter + - FlutterMacOS + - speech_to_text (0.0.1): + - Flutter + - Try + - sqflite (0.0.3): + - Flutter + - FMDB (>= 2.7.5) + - SwiftyGif (5.4.4) + - Toast (4.0.0) + - Try (2.1.1) + - url_launcher_ios (0.0.1): + - Flutter + +DEPENDENCIES: + - audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`) + - file_picker (from `.symlinks/plugins/file_picker/ios`) + - firebase_core (from `.symlinks/plugins/firebase_core/ios`) + - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) + - Flutter (from `Flutter`) + - flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`) + - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) + - flutter_sound (from `.symlinks/plugins/flutter_sound/ios`) + - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) + - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) + - package_info (from `.symlinks/plugins/package_info/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - qr_code_scanner (from `.symlinks/plugins/qr_code_scanner/ios`) + - share (from `.symlinks/plugins/share/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`) + - speech_to_text (from `.symlinks/plugins/speech_to_text/ios`) + - sqflite (from `.symlinks/plugins/sqflite/ios`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) + +SPEC REPOS: + trunk: + - DKImagePickerController + - DKPhotoGallery + - Firebase + - FirebaseCore + - FirebaseCoreInternal + - FirebaseInstallations + - FirebaseMessaging + - flutter_sound_core + - FMDB + - GoogleDataTransport + - GoogleUtilities + - MTBBarcodeScanner + - nanopb + - PromisesObjC + - SDWebImage + - SwiftyGif + - Toast + - Try + +EXTERNAL SOURCES: + audioplayers_darwin: + :path: ".symlinks/plugins/audioplayers_darwin/ios" + file_picker: + :path: ".symlinks/plugins/file_picker/ios" + firebase_core: + :path: ".symlinks/plugins/firebase_core/ios" + firebase_messaging: + :path: ".symlinks/plugins/firebase_messaging/ios" + Flutter: + :path: Flutter + flutter_keyboard_visibility: + :path: ".symlinks/plugins/flutter_keyboard_visibility/ios" + flutter_local_notifications: + :path: ".symlinks/plugins/flutter_local_notifications/ios" + flutter_sound: + :path: ".symlinks/plugins/flutter_sound/ios" + fluttertoast: + :path: ".symlinks/plugins/fluttertoast/ios" + image_picker_ios: + :path: ".symlinks/plugins/image_picker_ios/ios" + package_info: + :path: ".symlinks/plugins/package_info/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/ios" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + qr_code_scanner: + :path: ".symlinks/plugins/qr_code_scanner/ios" + share: + :path: ".symlinks/plugins/share/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/ios" + speech_to_text: + :path: ".symlinks/plugins/speech_to_text/ios" + sqflite: + :path: ".symlinks/plugins/sqflite/ios" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" + +SPEC CHECKSUMS: + audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 + DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac + DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 + file_picker: ce3938a0df3cc1ef404671531facef740d03f920 + Firebase: 07150e75d142fb9399f6777fa56a187b17f833a0 + firebase_core: e477125798fc37cd4ab43ca6a8536bf7e0929c00 + firebase_messaging: 334d68c3a36b6d4d5cd91e4f42509e0d4ae49828 + FirebaseCore: f86a1394906b97ac445ae49c92552a9425831bed + FirebaseCoreInternal: 950500ad8a08963657f6d8c67b579740c06d6aa1 + FirebaseInstallations: 7b99ef103f013624444c614397038219c45f8e63 + FirebaseMessaging: bb2c4f6422a753038fe137d90ae7c1af57251316 + Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069 + flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 + flutter_sound: c60effa2a350fb977885f0db2fbc4c1ad5160900 + flutter_sound_core: 26c10e5832e76aaacfae252d8925232281c486ae + fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c + FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a + GoogleDataTransport: f0308f5905a745f94fb91fea9c6cbaf3831cb1bd + GoogleUtilities: c63691989bf362ba0505507da00eeb326192e83e + image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5 + MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb + nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 + package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62 + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6 + PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 + qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e + SDWebImage: 750adf017a315a280c60fde706ab1e552a3ae4e9 + share: 0b2c3e82132f5888bccca3351c504d0003b3b410 + shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 + speech_to_text: b43a7d99aef037bd758ed8e45d79bbac035d2dfe + sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a + SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f + Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 + Try: 5ef669ae832617b3cee58cb2c6f99fb767a4ff96 + url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4 + +PODFILE CHECKSUM: 9addd1ae6176ca7bfe24f8bac9acf6aeb76cd8f5 + +COCOAPODS: 1.12.1 diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index 3100cf51..f748d37d 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -64,6 +64,7 @@ class URLs { static get getServiceReport => "$_baseUrl/WorkOrder/GetWorkOrderById"; // get static get createDuplicatedReport => "$_baseUrl/handle/duplicate/request"; // get static get searchWorkOrders => "$_baseUrl/WorkOrder/SearchWorkOrders"; + static get getSubWorkerInfoAccordingToPreviousStep => "$_baseUrl/WorkOrder/GetDataPreviousStep"; static get getServiceReportReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=522"; // get static get getServiceReportTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=501"; // get diff --git a/lib/controllers/providers/api/service_requests_provider.dart b/lib/controllers/providers/api/service_requests_provider.dart index aa123ebf..9440fc68 100644 --- a/lib/controllers/providers/api/service_requests_provider.dart +++ b/lib/controllers/providers/api/service_requests_provider.dart @@ -16,6 +16,7 @@ import 'package:test_sa/models/subtitle.dart'; import 'package:test_sa/models/timer_model.dart'; import '../../../models/service_request/search_work_order.dart'; +import '../../../models/service_request/sub_work_order_details.dart'; import '../../../models/user.dart'; class ServiceRequestsProvider extends ChangeNotifier { @@ -454,6 +455,23 @@ class ServiceRequestsProvider extends ChangeNotifier { } } + Future getSubWorkOrderDetails({@required String parentId}) async { + Response response; + try { + response = await ApiManager.instance.get(URLs.getSubWorkerInfoAccordingToPreviousStep + "?parentId=$parentId"); + stateCode = response.statusCode; + if (response.statusCode >= 200 && response.statusCode < 300) { + // client's request was successfully received + final workOrderJson = json.decode(response.body)["data"]; + return SubWorkOrderDetails.fromJson(workOrderJson); + } + return null; + } catch (e) { + print("getSubWorkOrderDetails [error] : $e"); + return null; + } + } + Future createDuplicatedReport({ @required String host, @required User user, diff --git a/lib/models/service_request/sub_work_order_details.dart b/lib/models/service_request/sub_work_order_details.dart new file mode 100644 index 00000000..e47d93f8 --- /dev/null +++ b/lib/models/service_request/sub_work_order_details.dart @@ -0,0 +1,60 @@ +import 'package:test_sa/models/lookup.dart'; +import 'package:test_sa/models/service_request/search_work_order.dart'; + +import '../fault_description.dart'; + +class SubWorkOrderDetails { + Lookup equipmentStatus; + Lookup reason; + FaultDescription faultDescription; + // Lookup loanAvailablity; + List sparePartsWorkOrders; + + SubWorkOrderDetails({ + this.equipmentStatus, + this.reason, + this.faultDescription, + // this.loanAvailablity, + this.sparePartsWorkOrders, + }); + + SubWorkOrderDetails.fromJson(dynamic json) { + if (json['equipmentStatus'] != null) equipmentStatus = Lookup.fromJson(json['equipmentStatus']); + if (json['reason'] != null) reason = Lookup.fromJson(json['reason']); + if (json['faultDescription'] != null) faultDescription = FaultDescription.fromJson(json['faultDescription']); + // loanAvailablity = Lookup.fromJson(json['loanAvailablity']); + if (json['sparePartsWorkOrders'] != null) { + sparePartsWorkOrders = []; + json['sparePartsWorkOrders'].forEach((v) { + sparePartsWorkOrders.add(SparePartsWorkOrders.fromJson(v)); + }); + } + } + + SubWorkOrderDetails copyWith({ + Lookup equipmentStatus, + Lookup reason, + FaultDescription faultDescription, + // Lookup loanAvailablity, + List sparePartsWorkOrders, + }) => + SubWorkOrderDetails( + equipmentStatus: equipmentStatus ?? this.equipmentStatus, + reason: reason ?? this.reason, + faultDescription: faultDescription ?? this.faultDescription, + // loanAvailablity: loanAvailablity ?? this.loanAvailablity, + sparePartsWorkOrders: sparePartsWorkOrders ?? this.sparePartsWorkOrders, + ); + + Map toJson() { + final map = {}; + map['equipmentStatus'] = equipmentStatus?.toMap(); + map['reason'] = reason?.toMap(); + map['faultDescription'] = faultDescription?.toJson(); + // map['loanAvailablity'] = loanAvailablity?.toMap(); + if (sparePartsWorkOrders?.isNotEmpty ?? false) { + map['sparePartsWorkOrders'] = sparePartsWorkOrders?.map((e) => e.toJson())?.toList(); + } + return map; + } +} diff --git a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart index d47566b0..534e2df7 100644 --- a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart +++ b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart @@ -70,9 +70,20 @@ class _CreateSubWorkOrderPageState extends State { Future getAssetType() async { //if (assetTypesProvider == null) { + final serviceRequestProvider = Provider.of(context); Provider.of(context, listen: false).reset(); assetTypesProvider = Provider.of(context, listen: false); - _callRequestForWorkOrder = await Provider.of(context).getCallRequestForWorkOrder(callId: widget.workOrder.callRequest.id.toString()); + _callRequestForWorkOrder = await serviceRequestProvider.getCallRequestForWorkOrder(callId: widget.workOrder.callRequest.id.toString()); + if (_subWorkOrders?.parentWOId != null) { + final subWoDetails = await serviceRequestProvider.getSubWorkOrderDetails(parentId: _subWorkOrders?.parentWOId.toString()); + _subWorkOrders.equipmentStatus = subWoDetails.equipmentStatus; + _subWorkOrders.reason = subWoDetails.reason; + _subWorkOrders.faultDescription = subWoDetails.faultDescription; + _subWorkOrders.sparePartsWorkOrders = subWoDetails.sparePartsWorkOrders; + _serviceReport.equipmentStatus = subWoDetails.equipmentStatus; + _serviceReport.reason = subWoDetails.reason; + _serviceReport.faultDescription = subWoDetails.faultDescription; + } await assetTypesProvider.getTypes(); _subWorkOrders?.assetType = assetTypesProvider.statuses?.firstWhere( (element) => element.value == _callRequestForWorkOrder?.assetType, diff --git a/lib/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart b/lib/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart index 9cb43482..661d0cbe 100644 --- a/lib/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart +++ b/lib/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart @@ -131,7 +131,7 @@ class _SparePartsBottomSheetState extends State { reportPartID: spare.id, code: spare.sparePart?.partNo, name: spare.sparePart?.partName, - quantity: spare.qty, + quantity: spare.qty?.toInt(), ); return PartItem( part: part, diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 00000000..98397238 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,1231 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: "5dce45a06d386358334eb1689108db6455d90ceb0d75848d5f4819283d4ee2b8" + url: "https://pub.dev" + source: hosted + version: "1.3.4" + archive: + dependency: transitive + description: + name: archive + sha256: "0c8368c9b3f0abbc193b9d6133649a614204b528982bebc7026372d61677ce3a" + url: "https://pub.dev" + source: hosted + version: "3.3.7" + args: + dependency: transitive + description: + name: args + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + async: + dependency: transitive + description: + name: async + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" + source: hosted + version: "2.10.0" + audioplayers: + dependency: "direct main" + description: + name: audioplayers + sha256: bb506873ab4fb663db9b47243754ef669adf684dbe6ba8b57c26e27b834065c4 + url: "https://pub.dev" + source: hosted + version: "1.2.0" + audioplayers_android: + dependency: transitive + description: + name: audioplayers_android + sha256: "53969a1c5d94ebdaef72e334f1c0ea2f3946ab2baa8d398a9584ac27baf4f037" + url: "https://pub.dev" + source: hosted + version: "1.1.3" + audioplayers_darwin: + dependency: transitive + description: + name: audioplayers_darwin + sha256: dcd5a4ceef5aa3d04e8ae49441f13a3d9f93fe6e9e88fe121ff6b6f391b2a40b + url: "https://pub.dev" + source: hosted + version: "1.0.4" + audioplayers_linux: + dependency: transitive + description: + name: audioplayers_linux + sha256: ea1cb9a5c9389b38f293ee1375b22b02fb1d1f7a2e1517fcb674297dd074dc7b + url: "https://pub.dev" + source: hosted + version: "1.0.2" + audioplayers_platform_interface: + dependency: transitive + description: + name: audioplayers_platform_interface + sha256: "589c3106d0c656540e81ac2c7a78a9414a4a6534ae7b77f06ddb5d6aa5dc653c" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + audioplayers_web: + dependency: transitive + description: + name: audioplayers_web + sha256: "13fb044a443276223774f8ed1f8d2b82f443cf8980edd0e172e55967c1556a49" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + audioplayers_windows: + dependency: transitive + description: + name: audioplayers_windows + sha256: "87964ddece7275b97277935df67af60536155914c81c633f708914b99433129b" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + cached_network_image: + dependency: "direct main" + description: + name: cached_network_image + sha256: fd3d0dc1d451f9a252b32d95d3f0c3c487bc41a75eba2e6097cb0b9c71491b15 + url: "https://pub.dev" + source: hosted + version: "3.2.3" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + sha256: bb2b8403b4ccdc60ef5f25c70dead1f3d32d24b9d6117cfc087f496b178594a7 + url: "https://pub.dev" + source: hosted + version: "2.0.0" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + sha256: b8eb814ebfcb4dea049680f8c1ffb2df399e4d03bf7a352c775e26fa06e02fa0 + url: "https://pub.dev" + source: hosted + version: "1.0.2" + carousel_slider: + dependency: "direct main" + description: + name: carousel_slider + sha256: "9c695cc963bf1d04a47bd6021f68befce8970bcd61d24938e1fb0918cf5d9c42" + url: "https://pub.dev" + source: hosted + version: "4.2.1" + characters: + dependency: transitive + description: + name: characters + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" + source: hosted + version: "1.2.1" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c" + url: "https://pub.dev" + source: hosted + version: "0.3.5" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" + source: hosted + version: "1.17.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9" + url: "https://pub.dev" + source: hosted + version: "0.3.3+4" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + url: "https://pub.dev" + source: hosted + version: "1.0.5" + dbus: + dependency: transitive + description: + name: dbus + sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263" + url: "https://pub.dev" + source: hosted + version: "0.7.8" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99 + url: "https://pub.dev" + source: hosted + version: "2.0.2" + file: + dependency: transitive + description: + name: file + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" + source: hosted + version: "6.1.4" + file_picker: + dependency: "direct main" + description: + name: file_picker + sha256: "9d6e95ec73abbd31ec54d0e0df8a961017e165aba1395e462e5b31ea0c165daf" + url: "https://pub.dev" + source: hosted + version: "5.3.1" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "770eb1ab057b5ae4326d1c24cc57710758b9a46026349d021d6311bd27580046" + url: "https://pub.dev" + source: hosted + version: "0.9.2" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: "4ada532862917bf16e3adb3891fe3a5917a58bae03293e497082203a80909412" + url: "https://pub.dev" + source: hosted + version: "0.9.3+1" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: "412705a646a0ae90f33f37acfae6a0f7cbc02222d6cd34e479421c3e74d3853c" + url: "https://pub.dev" + source: hosted + version: "2.6.0" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: "1372760c6b389842b77156203308940558a2817360154084368608413835fc26" + url: "https://pub.dev" + source: hosted + version: "0.9.3" + firebase_core: + dependency: "direct main" + description: + name: firebase_core + sha256: "2e9324f719e90200dc7d3c4f5d2abc26052f9f2b995d3b6626c47a0dfe1c8192" + url: "https://pub.dev" + source: hosted + version: "2.15.0" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + sha256: b63e3be6c96ef5c33bdec1aab23c91eb00696f6452f0519401d640938c94cba2 + url: "https://pub.dev" + source: hosted + version: "4.8.0" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + sha256: "0fd5c4b228de29b55fac38aed0d9e42514b3d3bd47675de52bf7f8fccaf922fa" + url: "https://pub.dev" + source: hosted + version: "2.6.0" + firebase_messaging: + dependency: "direct main" + description: + name: firebase_messaging + sha256: "8ac91d83a028eef050de770f1dc98421e215714d245f34de7b154d436676fbd0" + url: "https://pub.dev" + source: hosted + version: "14.6.5" + firebase_messaging_platform_interface: + dependency: transitive + description: + name: firebase_messaging_platform_interface + sha256: b2995e3640efb646e9ebf0e2fa50dea84895f0746a31d7e3af0e5e009a533a1a + url: "https://pub.dev" + source: hosted + version: "4.5.4" + firebase_messaging_web: + dependency: transitive + description: + name: firebase_messaging_web + sha256: "5d8446a28339124a2cb4f57a6ca454a3aca7d0c5c0cdfa5707afb192f7c830a7" + url: "https://pub.dev" + source: hosted + version: "3.5.4" + flare_flutter: + dependency: "direct main" + description: + name: flare_flutter + sha256: "99d63c60f00fac81249ce6410ee015d7b125c63d8278a30da81edf3317a1f6a0" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_blurhash: + dependency: transitive + description: + name: flutter_blurhash + sha256: "05001537bd3fac7644fa6558b09ec8c0a3f2eba78c0765f88912882b1331a5c6" + url: "https://pub.dev" + source: hosted + version: "0.7.0" + flutter_cache_manager: + dependency: transitive + description: + name: flutter_cache_manager + sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" + url: "https://pub.dev" + source: hosted + version: "3.3.1" + flutter_keyboard_visibility: + dependency: transitive + description: + name: flutter_keyboard_visibility + sha256: "4983655c26ab5b959252ee204c2fffa4afeb4413cd030455194ec0caa3b8e7cb" + url: "https://pub.dev" + source: hosted + version: "5.4.1" + flutter_keyboard_visibility_linux: + dependency: transitive + description: + name: flutter_keyboard_visibility_linux + sha256: "6fba7cd9bb033b6ddd8c2beb4c99ad02d728f1e6e6d9b9446667398b2ac39f08" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + flutter_keyboard_visibility_macos: + dependency: transitive + description: + name: flutter_keyboard_visibility_macos + sha256: c5c49b16fff453dfdafdc16f26bdd8fb8d55812a1d50b0ce25fc8d9f2e53d086 + url: "https://pub.dev" + source: hosted + version: "1.0.0" + flutter_keyboard_visibility_platform_interface: + dependency: transitive + description: + name: flutter_keyboard_visibility_platform_interface + sha256: e43a89845873f7be10cb3884345ceb9aebf00a659f479d1c8f4293fcb37022a4 + url: "https://pub.dev" + source: hosted + version: "2.0.0" + flutter_keyboard_visibility_web: + dependency: transitive + description: + name: flutter_keyboard_visibility_web + sha256: d3771a2e752880c79203f8d80658401d0c998e4183edca05a149f5098ce6e3d1 + url: "https://pub.dev" + source: hosted + version: "2.0.0" + flutter_keyboard_visibility_windows: + dependency: transitive + description: + name: flutter_keyboard_visibility_windows + sha256: fc4b0f0b6be9b93ae527f3d527fb56ee2d918cd88bbca438c478af7bcfd0ef73 + url: "https://pub.dev" + source: hosted + version: "1.0.0" + flutter_launcher_icons: + dependency: "direct main" + description: + name: flutter_launcher_icons + sha256: a9de6706cd844668beac27c0aed5910fa0534832b3c2cad61a5fd977fce82a5d + url: "https://pub.dev" + source: hosted + version: "0.10.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + flutter_local_notifications: + dependency: "direct main" + description: + name: flutter_local_notifications + sha256: f222919a34545931e47b06000836b5101baeffb0e6eb5a4691d2d42851740dd9 + url: "https://pub.dev" + source: hosted + version: "12.0.4" + flutter_local_notifications_linux: + dependency: transitive + description: + name: flutter_local_notifications_linux + sha256: "3c6d6db334f609a92be0c0915f40871ec56f5d2adf01e77ae364162c587c0ca8" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + flutter_local_notifications_platform_interface: + dependency: transitive + description: + name: flutter_local_notifications_platform_interface + sha256: "5ec1feac5f7f7d9266759488bc5f76416152baba9aa1b26fe572246caa00d1ab" + url: "https://pub.dev" + source: hosted + version: "6.0.0" + flutter_localizations: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: "950e77c2bbe1692bc0874fc7fb491b96a4dc340457f4ea1641443d0a6c1ea360" + url: "https://pub.dev" + source: hosted + version: "2.0.15" + flutter_sound: + dependency: "direct main" + description: + name: flutter_sound + sha256: "090a4694b11ecc744c2010621c4ffc5fe7c3079d304ea014961a72c7b72cfe6c" + url: "https://pub.dev" + source: hosted + version: "9.2.13" + flutter_sound_platform_interface: + dependency: transitive + description: + name: flutter_sound_platform_interface + sha256: "4537eaeb58a32748c42b621ad6116f7f4c6ee0a8d6ffaa501b165fe1c9df4753" + url: "https://pub.dev" + source: hosted + version: "9.2.13" + flutter_sound_web: + dependency: transitive + description: + name: flutter_sound_web + sha256: ad4ca92671a1879e1f613e900bbbdb8170b20d57d1e4e6363018fe56b055594f + url: "https://pub.dev" + source: hosted + version: "9.2.13" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + sha256: "6ff9fa12892ae074092de2fa6a9938fb21dbabfdaa2ff57dc697ff912fc8d4b2" + url: "https://pub.dev" + source: hosted + version: "1.1.6" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_typeahead: + dependency: "direct main" + description: + name: flutter_typeahead + sha256: a3539f7a90246b152f569029dedcf0b842532d3f2a440701b520e0bf2acbcf42 + url: "https://pub.dev" + source: hosted + version: "4.6.2" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + fluttertoast: + dependency: "direct main" + description: + name: fluttertoast + sha256: "474f7d506230897a3cd28c965ec21c5328ae5605fc9c400cd330e9e9d6ac175c" + url: "https://pub.dev" + source: hosted + version: "8.2.2" + font_awesome_flutter: + dependency: "direct main" + description: + name: font_awesome_flutter + sha256: "959ef4add147753f990b4a7c6cccb746d5792dbdc81b1cde99e62e7edb31b206" + url: "https://pub.dev" + source: hosted + version: "10.4.0" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + http: + dependency: "direct main" + description: + name: http + sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + url: "https://pub.dev" + source: hosted + version: "0.13.6" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + image: + dependency: transitive + description: + name: image + sha256: "8e9d133755c3e84c73288363e6343157c383a0c6c56fc51afcc5d4d7180306d6" + url: "https://pub.dev" + source: hosted + version: "3.3.0" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c + url: "https://pub.dev" + source: hosted + version: "0.8.9" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: d2bab152deb2547ea6f53d82ebca9b7e77386bb706e5789e815d37e08ea475bb + url: "https://pub.dev" + source: hosted + version: "0.8.7+3" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: b3e2f21feb28b24dd73a35d7ad6e83f568337c70afab5eabac876e23803f264b + url: "https://pub.dev" + source: hosted + version: "0.8.8" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "02cbc21fe1706b97942b575966e5fbbeaac535e76deef70d3a242e4afb857831" + url: "https://pub.dev" + source: hosted + version: "0.2.1" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: cee2aa86c56780c13af2c77b5f2f72973464db204569e1ba2dd744459a065af4 + url: "https://pub.dev" + source: hosted + version: "0.2.1" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: "7c7b96bb9413a9c28229e717e6fd1e3edd1cc5569c1778fcca060ecf729b65ee" + url: "https://pub.dev" + source: hosted + version: "2.8.0" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: c3066601ea42113922232c7b7b3330a2d86f029f685bba99d82c30e799914952 + url: "https://pub.dev" + source: hosted + version: "0.2.1" + intl: + dependency: "direct main" + description: + name: intl + sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91" + url: "https://pub.dev" + source: hosted + version: "0.17.0" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + url: "https://pub.dev" + source: hosted + version: "4.8.1" + lints: + dependency: transitive + description: + name: lints + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + logger: + dependency: transitive + description: + name: logger + sha256: "7ad7215c15420a102ec687bb320a7312afd449bac63bfb1c60d9787c27b9767f" + url: "https://pub.dev" + source: hosted + version: "1.4.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" + source: hosted + version: "0.12.13" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" + source: hosted + version: "0.2.0" + meta: + dependency: transitive + description: + name: meta + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" + source: hosted + version: "1.8.0" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + octo_image: + dependency: transitive + description: + name: octo_image + sha256: "107f3ed1330006a3bea63615e81cf637433f5135a52466c7caa0e7152bca9143" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + package_info: + dependency: "direct main" + description: + name: package_info + sha256: "6c07d9d82c69e16afeeeeb6866fe43985a20b3b50df243091bfc4a4ad2b03b75" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + path: + dependency: transitive + description: + name: path + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" + source: hosted + version: "1.8.2" + path_drawing: + dependency: transitive + description: + name: path_drawing + sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 + url: "https://pub.dev" + source: hosted + version: "1.0.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf + url: "https://pub.dev" + source: hosted + version: "1.0.1" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: "909b84830485dbcd0308edf6f7368bc8fd76afa26a270420f34cabea2a6467a0" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "5d44fc3314d969b84816b569070d7ace0f1dea04bd94a83f74c4829615d22ad8" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "1b744d3d774e5a879bb76d6cd1ecee2ba2c6960c03b1020cd35212f6aa267ac5" + url: "https://pub.dev" + source: hosted + version: "2.3.0" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: ba2b77f0c52a33db09fc8caf85b12df691bf28d983e84cf87ff6d693cfa007b3 + url: "https://pub.dev" + source: hosted + version: "2.2.0" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: bced5679c7df11190e1ddc35f3222c858f328fff85c3942e46e7f5589bf9eb84 + url: "https://pub.dev" + source: hosted + version: "2.1.0" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: ee0e0d164516b90ae1f970bdf29f726f1aa730d7cfc449ecc74c495378b705da + url: "https://pub.dev" + source: hosted + version: "2.2.0" + pedantic: + dependency: transitive + description: + name: pedantic + sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + permission_handler: + dependency: "direct main" + description: + name: permission_handler + sha256: "63e5216aae014a72fe9579ccd027323395ce7a98271d9defa9d57320d001af81" + url: "https://pub.dev" + source: hosted + version: "10.4.3" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + sha256: c0c9754479a4c4b1c1f3862ddc11930c9b3f03bef2816bb4ea6eed1e13551d6f + url: "https://pub.dev" + source: hosted + version: "10.3.2" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" + url: "https://pub.dev" + source: hosted + version: "9.1.4" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + sha256: "7c6b1500385dd1d2ca61bb89e2488ca178e274a69144d26bbd65e33eae7c02a9" + url: "https://pub.dev" + source: hosted + version: "3.11.3" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 + url: "https://pub.dev" + source: hosted + version: "0.1.3" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: "49392a45ced973e8d94a85fdb21293fbb40ba805fc49f2965101ae748a3683b4" + url: "https://pub.dev" + source: hosted + version: "5.1.0" + platform: + dependency: transitive + description: + name: platform + sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + pointer_interceptor: + dependency: transitive + description: + name: pointer_interceptor + sha256: "6aa680b30d96dccef496933d00208ad25f07e047f644dc98ce03ec6141633a9a" + url: "https://pub.dev" + source: hosted + version: "0.9.3+4" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" + url: "https://pub.dev" + source: hosted + version: "3.7.3" + process: + dependency: transitive + description: + name: process + sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" + url: "https://pub.dev" + source: hosted + version: "4.2.4" + provider: + dependency: "direct main" + description: + name: provider + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + url: "https://pub.dev" + source: hosted + version: "6.0.5" + qr_code_scanner: + dependency: "direct main" + description: + name: qr_code_scanner + sha256: f23b68d893505a424f0bd2e324ebea71ed88465d572d26bb8d2e78a4749591fd + url: "https://pub.dev" + source: hosted + version: "1.0.1" + recase: + dependency: transitive + description: + name: recase + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" + source: hosted + version: "4.1.0" + record_mp3: + dependency: "direct main" + description: + name: record_mp3 + sha256: "2da2cd2f8c053f9ff03388019bc3eff035ef72f8ea8efac24674c5e528a1cc68" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + rive: + dependency: "direct main" + description: + name: rive + sha256: "22e3755b75f4ea4492d2fecf4fc2acf1c8d0073df39781d290a20cbfe74c3760" + url: "https://pub.dev" + source: hosted + version: "0.9.1" + rxdart: + dependency: transitive + description: + name: rxdart + sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" + url: "https://pub.dev" + source: hosted + version: "0.27.7" + share: + dependency: "direct main" + description: + name: share + sha256: "97e6403f564ed1051a01534c2fc919cb6e40ea55e60a18ec23cee6e0ce19f4be" + url: "https://pub.dev" + source: hosted + version: "2.0.4" + shared_preferences: + dependency: "direct main" + description: + name: shared_preferences + sha256: "0344316c947ffeb3a529eac929e1978fcd37c26be4e8468628bac399365a3ca1" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + shared_preferences_android: + dependency: transitive + description: + name: shared_preferences_android + sha256: fe8401ec5b6dcd739a0fe9588802069e608c3fdbfd3c3c93e546cf2f90438076 + url: "https://pub.dev" + source: hosted + version: "2.2.0" + shared_preferences_foundation: + dependency: transitive + description: + name: shared_preferences_foundation + sha256: f39696b83e844923b642ce9dd4bd31736c17e697f6731a5adf445b1274cf3cd4 + url: "https://pub.dev" + source: hosted + version: "2.3.2" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + sha256: "71d6806d1449b0a9d4e85e0c7a917771e672a3d5dc61149cc9fac871115018e1" + url: "https://pub.dev" + source: hosted + version: "2.3.0" + shared_preferences_platform_interface: + dependency: transitive + description: + name: shared_preferences_platform_interface + sha256: "23b052f17a25b90ff2b61aad4cc962154da76fb62848a9ce088efe30d7c50ab1" + url: "https://pub.dev" + source: hosted + version: "2.3.0" + shared_preferences_web: + dependency: transitive + description: + name: shared_preferences_web + sha256: "7347b194fb0bbeb4058e6a4e87ee70350b6b2b90f8ac5f8bd5b3a01548f6d33a" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + sha256: f95e6a43162bce43c9c3405f3eb6f39e5b5d11f65fab19196cf8225e2777624d + url: "https://pub.dev" + source: hosted + version: "2.3.0" + signature: + dependency: "direct main" + description: + name: signature + sha256: ad23383717dfa926204695ef6928ff513a77387be1b4a8c685099ce3ec35e5f8 + url: "https://pub.dev" + source: hosted + version: "5.3.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" + source: hosted + version: "1.9.1" + speech_to_text: + dependency: "direct main" + description: + name: speech_to_text + sha256: ff8fbd31d039bdbac6c7ec9f0516d37df2cbea62c45198326d3b64034e6fb920 + url: "https://pub.dev" + source: hosted + version: "6.1.1" + speech_to_text_macos: + dependency: transitive + description: + name: speech_to_text_macos + sha256: "6b5575e5a8346be1779838b0a482c259474965b5943668830b479147a75b5bfc" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + speech_to_text_platform_interface: + dependency: transitive + description: + name: speech_to_text_platform_interface + sha256: "13d90215a7554b9a8c1ce47c0a1739af8eacd2cf196ca66351e54dfd2172746d" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + sqflite: + dependency: transitive + description: + name: sqflite + sha256: b4d6710e1200e96845747e37338ea8a819a12b51689a3bcf31eff0003b37a0b9 + url: "https://pub.dev" + source: hosted + version: "2.2.8+4" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + sha256: "8f7603f3f8f126740bc55c4ca2d1027aab4b74a1267a3e31ce51fe40e3b65b8f" + url: "https://pub.dev" + source: hosted + version: "2.4.5+1" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + synchronized: + dependency: transitive + description: + name: synchronized + sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" + source: hosted + version: "0.4.16" + timezone: + dependency: transitive + description: + name: timezone + sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0" + url: "https://pub.dev" + source: hosted + version: "0.9.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + sha256: eb1e00ab44303d50dd487aab67ebc575456c146c6af44422f9c13889984c00f3 + url: "https://pub.dev" + source: hosted + version: "6.1.11" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: "15f5acbf0dce90146a0f5a2c4a002b1814a6303c4c5c075aa2623b2d16156f03" + url: "https://pub.dev" + source: hosted + version: "6.0.36" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "9af7ea73259886b92199f9e42c116072f05ff9bea2dcb339ab935dfc957392c2" + url: "https://pub.dev" + source: hosted + version: "6.1.4" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: "207f4ddda99b95b4d4868320a352d374b0b7e05eefad95a4a26f57da413443f5" + url: "https://pub.dev" + source: hosted + version: "3.0.5" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: "1c4fdc0bfea61a70792ce97157e5cc17260f61abbe4f39354513f39ec6fd73b1" + url: "https://pub.dev" + source: hosted + version: "3.0.6" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: bfdfa402f1f3298637d71ca8ecfe840b4696698213d5346e9d12d4ab647ee2ea + url: "https://pub.dev" + source: hosted + version: "2.1.3" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: cc26720eefe98c1b71d85f9dc7ef0cada5132617046369d9dc296b3ecaa5cbb4 + url: "https://pub.dev" + source: hosted + version: "2.0.18" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: "7967065dd2b5fccc18c653b97958fdf839c5478c28e767c61ee879f4e7882422" + url: "https://pub.dev" + source: hosted + version: "3.0.7" + uuid: + dependency: transitive + description: + name: uuid + sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" + url: "https://pub.dev" + source: hosted + version: "3.0.7" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + win32: + dependency: transitive + description: + name: win32 + sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" + url: "https://pub.dev" + source: hosted + version: "4.1.4" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: bd512f03919aac5f1313eb8249f223bacf4927031bf60b02601f81f687689e86 + url: "https://pub.dev" + source: hosted + version: "0.2.0+3" + xml: + dependency: transitive + description: + name: xml + sha256: "979ee37d622dec6365e2efa4d906c37470995871fe9ae080d967e192d88286b5" + url: "https://pub.dev" + source: hosted + version: "6.2.2" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=2.19.0 <3.0.0" + flutter: ">=3.3.0" From 0e95b32ecb54b49b0d389a172bce1d50c4419703 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 30 Aug 2023 10:07:56 +0300 Subject: [PATCH 2/8] Service Request [Most Recent] --- .../providers/api/service_requests_provider.dart | 7 ------- lib/models/service_request/service_request_search.dart | 6 +++++- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/controllers/providers/api/service_requests_provider.dart b/lib/controllers/providers/api/service_requests_provider.dart index 9440fc68..41e749c0 100644 --- a/lib/controllers/providers/api/service_requests_provider.dart +++ b/lib/controllers/providers/api/service_requests_provider.dart @@ -78,7 +78,6 @@ class ServiceRequestsProvider extends ChangeNotifier { List serviceRequestsPage = requestsListJson.map((request) => ServiceRequest.fromJson(request)).toList(); serviceRequests ??= []; serviceRequests.addAll(serviceRequestsPage); - sortMostRecent(serviceRequests); notifyListeners(); if (serviceRequestsPage.length == pageItemNumber) { nextPage = true; @@ -97,12 +96,6 @@ class ServiceRequestsProvider extends ChangeNotifier { } } - void sortMostRecent(List requests) { - requests.sort( - (prev, next) => (search.mostRecent ?? false) ? DateTime.tryParse(next.date).compareTo(DateTime.tryParse(prev.date)) : DateTime.tryParse(prev.date).compareTo(DateTime.tryParse(next.date)), - ); - } - Future getSingleServiceRequest({ @required String requestId, @required String host, diff --git a/lib/models/service_request/service_request_search.dart b/lib/models/service_request/service_request_search.dart index 6df51b1a..f6628672 100644 --- a/lib/models/service_request/service_request_search.dart +++ b/lib/models/service_request/service_request_search.dart @@ -23,12 +23,12 @@ class ServiceRequestSearch { this.deviceName, this.model, this.hospital, - this.mostRecent, this.callId, this.from, this.to, this.assignedEmployee, this.dateOperator, + this.mostRecent = true, }); fromSearch(ServiceRequestSearch newSearch) { @@ -51,6 +51,10 @@ class ServiceRequestSearch { search["assetSerialNumber"] = deviceSerialNumber; } + if (mostRecent != null) { + search["mostRecent"] = mostRecent; + } + if (deviceNumber != null && deviceNumber.isNotEmpty) { search["assetNo"] = deviceNumber; } From c52d7cd5273dc45984609bd91d43c50b66898fc9 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 30 Aug 2023 10:18:25 +0300 Subject: [PATCH 3/8] Preventive Maintenance [Most Recent] --- lib/models/visits/visits_search.dart | 6 +++++- lib/views/pages/user/visits/regular_visits_page.dart | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/models/visits/visits_search.dart b/lib/models/visits/visits_search.dart index 4e6159f2..aa91d444 100644 --- a/lib/models/visits/visits_search.dart +++ b/lib/models/visits/visits_search.dart @@ -29,7 +29,7 @@ class VisitsSearch { this.expectedDateTo, this.deviceNumber, this.deviceName, - this.mostRecent, + this.mostRecent = true, }); fromSearch(VisitsSearch newSearch) { @@ -58,6 +58,10 @@ class VisitsSearch { _search["siteId"] = hospital.id; } + if (mostRecent != null) { + _search["mostRecent"] = mostRecent; + } + if (brand != null && brand.isNotEmpty) { // todo get new key _search[""] = brand; diff --git a/lib/views/pages/user/visits/regular_visits_page.dart b/lib/views/pages/user/visits/regular_visits_page.dart index c9d16a45..c2ded666 100644 --- a/lib/views/pages/user/visits/regular_visits_page.dart +++ b/lib/views/pages/user/visits/regular_visits_page.dart @@ -107,7 +107,7 @@ class _RegularVisitsPageState extends State with TickerProvid ), ), Visibility( - visible: _visitsProvider.visitsSearch.toMap().isNotEmpty, + visible: (_visitsProvider.visitsSearch.toMap()..remove("mostRecent")).isNotEmpty, child: Padding( padding: const EdgeInsets.all(8.0), child: AButton( From 232713f8414b2e3dcb7431dd859405a87be04442 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 30 Aug 2023 10:31:47 +0300 Subject: [PATCH 4/8] Track Gaz Refills [Most Recent] --- .../providers/api/gas_refill_provider.dart | 21 ++++--------------- ...reventive_maintenance_visits_provider.dart | 2 +- .../user/gas_refill/track_gas_refill.dart | 5 ++++- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/lib/controllers/providers/api/gas_refill_provider.dart b/lib/controllers/providers/api/gas_refill_provider.dart index 6d19dac9..f2e64a1e 100644 --- a/lib/controllers/providers/api/gas_refill_provider.dart +++ b/lib/controllers/providers/api/gas_refill_provider.dart @@ -49,7 +49,7 @@ class GasRefillProvider extends ChangeNotifier { Future getRequests({ @required String host, @required User user, - bool mostRecent, + @required bool mostRecent, }) async { if (isLoading == true) return -2; isLoading = true; @@ -59,24 +59,17 @@ class GasRefillProvider extends ChangeNotifier { Map body = {}; body["pageNumber"] = (items?.length ?? 0) ~/ pageItemNumber + 1; body["pageSize"] = pageItemNumber; + body["mostRecent"] = mostRecent; print("url:${URLs.getGasRefill}:body:$body"); - response = await ApiManager.instance.post( - URLs.getGasRefill, - body: body, - ); + response = await ApiManager.instance.post(URLs.getGasRefill, body: body); stateCode = response.statusCode; if (stateCode >= 200 && stateCode < 300) { // client's request was successfully received List requestsListJson = json.decode(response.body)["data"]; List itemsPage = requestsListJson.map((request) => GasRefillModel.fromJson(request)).toList(); - if (mostRecent != null) { - items = []; - } else { - items ??= []; - } + items ??= []; items.addAll(itemsPage); - sortMostRecent(items, mostRecent); notifyListeners(); if (itemsPage.length == pageItemNumber) { nextPage = true; @@ -96,12 +89,6 @@ class GasRefillProvider extends ChangeNotifier { } } - void sortMostRecent(List models, bool mostRecent) { - if (mostRecent != null) { - models.sort((prev, next) => (mostRecent ?? false) ? next.title.compareTo(prev.title) : prev.title.compareTo(next.title)); - } - } - Future createModel({ @required String host, @required User user, diff --git a/lib/controllers/providers/api/preventive_maintenance_visits_provider.dart b/lib/controllers/providers/api/preventive_maintenance_visits_provider.dart index 59bf347a..53c3756d 100644 --- a/lib/controllers/providers/api/preventive_maintenance_visits_provider.dart +++ b/lib/controllers/providers/api/preventive_maintenance_visits_provider.dart @@ -69,7 +69,7 @@ class PreventiveMaintenanceVisitsProvider extends ChangeNotifier { // client's request was successfully received List requestsListJson = json.decode(utf8.decode(response.bodyBytes)); List _visits = requestsListJson.map((request) => Visit.fromJson(request)).toList(); - if (visits == null) visits = []; + visits ??= []; visits.addAll(_visits); if (_visits.length == pageItemNumber) { nextPage = true; diff --git a/lib/views/pages/user/gas_refill/track_gas_refill.dart b/lib/views/pages/user/gas_refill/track_gas_refill.dart index 7a1d728b..9eb9bc79 100644 --- a/lib/views/pages/user/gas_refill/track_gas_refill.dart +++ b/lib/views/pages/user/gas_refill/track_gas_refill.dart @@ -25,7 +25,7 @@ class _TrackGasRefillPageState extends State with TickerProv GasRefillProvider _gasRefillProvider; UserProvider _userProvider; SettingProvider _settingProvider; - bool mostRecent = false; + bool mostRecent = true; @override Widget build(BuildContext context) { @@ -49,6 +49,7 @@ class _TrackGasRefillPageState extends State with TickerProv await _gasRefillProvider.getRequests( user: _userProvider.user, host: _settingProvider.host, + mostRecent: mostRecent, ); }, child: Stack( @@ -86,6 +87,7 @@ class _TrackGasRefillPageState extends State with TickerProv value: mostRecent, onChange: (value) async { mostRecent = value; + _gasRefillProvider.reset(); await _gasRefillProvider.getRequests( user: _userProvider.user, host: _settingProvider.host, @@ -101,6 +103,7 @@ class _TrackGasRefillPageState extends State with TickerProv await _gasRefillProvider.getRequests( user: _userProvider.user, host: _settingProvider.host, + mostRecent: mostRecent, ); }, items: _gasRefillProvider.items, From fd439a4f46353b0d4fbfa3b5bbef2ae9e564d6f0 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 30 Aug 2023 10:37:27 +0300 Subject: [PATCH 5/8] Track Asset Transfer [Most Recent] --- .../providers/api/device_transfer_provider.dart | 8 -------- lib/models/device/device_transfer_search.dart | 5 ++++- .../widgets/search/asset_transfer_search_dialog.dart | 2 +- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/lib/controllers/providers/api/device_transfer_provider.dart b/lib/controllers/providers/api/device_transfer_provider.dart index 289fd413..2c6e2b37 100644 --- a/lib/controllers/providers/api/device_transfer_provider.dart +++ b/lib/controllers/providers/api/device_transfer_provider.dart @@ -83,7 +83,6 @@ class DeviceTransferProvider extends ChangeNotifier { List itemsPage = listJson.map((request) => DeviceTransfer.fromJson(request)).toList(); items ??= []; items.addAll(itemsPage.toSet().toList()); - sortMostRecent(items, deviceTransferSearch.mostRecent); notifyListeners(); if (itemsPage.length == pageItemNumber) { nextPage = true; @@ -102,13 +101,6 @@ class DeviceTransferProvider extends ChangeNotifier { } } - void sortMostRecent(List transfer, bool mostRecent) { - if (mostRecent != null) { - transfer.sort((prev, next) => - (mostRecent ?? false) ? DateTime.tryParse(next.createdOn).compareTo(DateTime.tryParse(prev.createdOn)) : DateTime.tryParse(prev.createdOn).compareTo(DateTime.tryParse(next.createdOn))); - } - } - Future getRequestById({int assetTransferId}) async { Response response; try { diff --git a/lib/models/device/device_transfer_search.dart b/lib/models/device/device_transfer_search.dart index 8a7a24f4..218e838d 100644 --- a/lib/models/device/device_transfer_search.dart +++ b/lib/models/device/device_transfer_search.dart @@ -22,7 +22,7 @@ class DeviceTransferSearch { this.department, this.room, this.title, - this.mostRecent, + this.mostRecent = true, }); Map toMap() { @@ -33,6 +33,9 @@ class DeviceTransferSearch { if (device != null) { search["assetId"] = device.id; } + if (mostRecent != null) { + search["mostRecent"] = mostRecent; + } if (hospital?.id != null) { search["destSiteId"] = hospital.id; } diff --git a/lib/views/widgets/search/asset_transfer_search_dialog.dart b/lib/views/widgets/search/asset_transfer_search_dialog.dart index 20a88ece..6bcbb3da 100644 --- a/lib/views/widgets/search/asset_transfer_search_dialog.dart +++ b/lib/views/widgets/search/asset_transfer_search_dialog.dart @@ -179,7 +179,7 @@ class AssetTransferSearchDialogState extends State wi ), SizedBox(height: 16.0 * AppStyle.getScaleFactor(context)), Visibility( - visible: _search.toMap().isNotEmpty, + visible: (_search.toMap()?.remove("mostRecent"))?.isNotEmpty, child: Padding( padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), child: AButton( From 5f842068a4f74e782becaf315a7da69f1c75ed41 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 30 Aug 2023 11:21:49 +0300 Subject: [PATCH 6/8] Track Asset Transfer [Most Recent] --- lib/views/widgets/search/asset_transfer_search_dialog.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/views/widgets/search/asset_transfer_search_dialog.dart b/lib/views/widgets/search/asset_transfer_search_dialog.dart index 6bcbb3da..9dd79991 100644 --- a/lib/views/widgets/search/asset_transfer_search_dialog.dart +++ b/lib/views/widgets/search/asset_transfer_search_dialog.dart @@ -179,7 +179,7 @@ class AssetTransferSearchDialogState extends State wi ), SizedBox(height: 16.0 * AppStyle.getScaleFactor(context)), Visibility( - visible: (_search.toMap()?.remove("mostRecent"))?.isNotEmpty, + visible: (_search.toMap()..remove("mostRecent"))?.isNotEmpty ?? false, child: Padding( padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), child: AButton( From 05d1976969d391af93f02dd0af11f70871b16b9e Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 30 Aug 2023 12:08:05 +0300 Subject: [PATCH 7/8] Make QR code searches for a specific elements which are equal to asset no. --- .../providers/api/devices_provider.dart | 11 ++++++++++- lib/views/pages/user/land_page.dart | 16 ++++++++-------- .../widgets/equipment/single_device_picker.dart | 13 ++++++++++--- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/lib/controllers/providers/api/devices_provider.dart b/lib/controllers/providers/api/devices_provider.dart index 4908b573..03a8228f 100644 --- a/lib/controllers/providers/api/devices_provider.dart +++ b/lib/controllers/providers/api/devices_provider.dart @@ -52,6 +52,7 @@ class DevicesProvider extends ChangeNotifier { @required int hospitalId, String serialNumber, String number, + bool isQr = false, }) async { if (_loading == true) return -2; _loading = true; @@ -75,7 +76,15 @@ class DevicesProvider extends ChangeNotifier { if (response.statusCode >= 200 && response.statusCode < 300) { // client's request was successfully received List equipmentListJson = json.decode(response.body)["data"]; - _devices.addAll(equipmentListJson.map((device) => Device.fromJson(device, startKeyWithDest: false)).toList()); + var dList = equipmentListJson.map((device) => Device.fromJson(device, startKeyWithDest: false)).toList(); + try { + if (isQr) { + dList = dList.where((element) => number?.toLowerCase() == element?.number?.toLowerCase())?.toList() ?? []; + } + } catch (e) { + print(e); + } + _devices.addAll(dList); nextPage = true; } else { nextPage = false; diff --git a/lib/views/pages/user/land_page.dart b/lib/views/pages/user/land_page.dart index e249206d..a01fbc0b 100644 --- a/lib/views/pages/user/land_page.dart +++ b/lib/views/pages/user/land_page.dart @@ -152,14 +152,14 @@ class _LandPageState extends State { mainAxisSpacing: 12, childAspectRatio: 1, children: [ - if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user) - LandPageItem( - text: _subtitle.newServiceRequest, - icon: FontAwesomeIcons.tools, - onPressed: () { - Navigator.of(context).pushNamed(CreateRequestPage.id); - }, - ), + // if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user) + LandPageItem( + text: _subtitle.newServiceRequest, + icon: FontAwesomeIcons.tools, + onPressed: () { + Navigator.of(context).pushNamed(CreateRequestPage.id); + }, + ), LandPageItem( text: _subtitle.trackServiceRequest, icon: FontAwesomeIcons.tasks, diff --git a/lib/views/widgets/equipment/single_device_picker.dart b/lib/views/widgets/equipment/single_device_picker.dart index d8627652..eb5ad724 100644 --- a/lib/views/widgets/equipment/single_device_picker.dart +++ b/lib/views/widgets/equipment/single_device_picker.dart @@ -34,12 +34,19 @@ class _SingleDevicePickerState extends State { TextEditingController numberController = TextEditingController(); TextEditingController snController = TextEditingController(); - _getDevice(String result) async { + _getDevice(String result, {bool isQr = false}) async { print(result); if (result == null) return; // List devices = await _devicesProvider.getDevicesListBySN(host: _settingProvider.host, user: _userProvider.user, hospitalId: _userProvider.user.clientId, sn: result); _devicesProvider.reset(); - await _devicesProvider.getEquipment(user: _userProvider.user, host: _settingProvider.host, hospitalId: _userProvider.user.clientId, serialNumber: "", number: result); + await _devicesProvider.getEquipment( + user: _userProvider.user, + host: _settingProvider.host, + hospitalId: _userProvider.user.clientId, + serialNumber: "", + number: result, + isQr: isQr, + ); _searchableList.clear(); _searchableList.addAll(_devicesProvider.devices); // Navigator.of(context).pop(); @@ -164,7 +171,7 @@ class _SingleDevicePickerState extends State { String result = await Navigator.of(context).push( MaterialPageRoute(builder: (_) => const ScanQr()), ) as String; - _getDevice(result); + _getDevice(result, isQr: true); }, ), ); From ec4916d4ecfbf5e4a82a1ccffabbaf46ada8302a Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 30 Aug 2023 12:25:53 +0300 Subject: [PATCH 8/8] hide create service request module form engineer session --- lib/views/pages/user/land_page.dart | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/views/pages/user/land_page.dart b/lib/views/pages/user/land_page.dart index a01fbc0b..e249206d 100644 --- a/lib/views/pages/user/land_page.dart +++ b/lib/views/pages/user/land_page.dart @@ -152,14 +152,14 @@ class _LandPageState extends State { mainAxisSpacing: 12, childAspectRatio: 1, children: [ - // if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user) - LandPageItem( - text: _subtitle.newServiceRequest, - icon: FontAwesomeIcons.tools, - onPressed: () { - Navigator.of(context).pushNamed(CreateRequestPage.id); - }, - ), + if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user) + LandPageItem( + text: _subtitle.newServiceRequest, + icon: FontAwesomeIcons.tools, + onPressed: () { + Navigator.of(context).pushNamed(CreateRequestPage.id); + }, + ), LandPageItem( text: _subtitle.trackServiceRequest, icon: FontAwesomeIcons.tasks,