From 4230a0dd3bec5543ce9fc4a3f5d0133a45f11022 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Wed, 22 Jul 2026 15:55:33 +0300 Subject: [PATCH] notification redirection improvements --- .../firebase_notification_manger.dart | 100 ++++++++++-------- 1 file changed, 56 insertions(+), 44 deletions(-) diff --git a/lib/controllers/notification/firebase_notification_manger.dart b/lib/controllers/notification/firebase_notification_manger.dart index 361a29e1..c80a0d8f 100644 --- a/lib/controllers/notification/firebase_notification_manger.dart +++ b/lib/controllers/notification/firebase_notification_manger.dart @@ -9,15 +9,23 @@ import 'package:huawei_push/huawei_push.dart' as h_push; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/notification/notification_manger.dart'; import 'package:test_sa/controllers/providers/api/notifications_provider.dart'; +import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/device/device_transfer.dart'; import 'package:test_sa/models/new_models/gas_refill_model.dart'; import 'package:test_sa/modules/cm_module/cm_detail_page.dart'; import 'package:test_sa/modules/cx_module/survey/survey_page.dart'; +import 'package:test_sa/modules/demo_module/demo_detail_view_page.dart'; +import 'package:test_sa/modules/incident_module/incident_detail_page.dart'; +import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_detail_page.dart'; +import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/system_internal_audit_detail_page.dart'; +import 'package:test_sa/modules/loan_module/pages/loan_equipment_detail_page.dart'; +import 'package:test_sa/modules/medical_gas_inspection/medical_gas_inspection_detail_page.dart'; import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart'; import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart'; import 'package:test_sa/modules/tm_module/device_transfer/device_transfer_details.dart'; import 'package:test_sa/modules/tm_module/tasks/task_request_detail_view.dart'; import 'package:test_sa/modules/tm_module/gas_refill/gas_refill_details.dart'; +import 'package:test_sa/modules/traf_module/traf_request_detail_page.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; @@ -131,31 +139,11 @@ class FirebaseNotificationManger { return; } - // PPM=1, - // ServiceRequestEngineer = 3, - // AssetTransfer=7, - // SparePartTransaction= 8, - // GasRefill=9, - // TechnicalRetirmentWO = 11, - // Recurrent = 12, switch (transactionType) { case "1": - serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); - break; - //these three request are same corrective maintenance.... - case "3": - serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); - break; - case "8": - serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); - break; - case "11": serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); break; - case "7": - serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())), moduleId: 3); - break; - case "9": + case "2": serviceClass = GasRefillDetailsPage( priority: messageData["priority"], date: messageData["createdOn"], @@ -163,37 +151,61 @@ class FirebaseNotificationManger { model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), ); break; - case "12": + case "3": + serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())), moduleId: 3); + break; + case "4": + serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); + break; + case "5": serviceClass = RecurrentWorkOrderView(taskId: int.parse(messageData["requestNumber"].toString())); + break; + case "6": + serviceClass = TaskRequestDetailsView( + taskId: int.parse(messageData["requestNumber"].toString()), + requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"]), + moduleId: 6); + break; + case "7": + serviceClass = TaskRequestDetailsView( + taskId: int.parse(messageData["requestNumber"].toString()), + requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"]), + moduleId: 7); + break; + // case "8": + // serviceClass = AssetInventoryDetailView(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); + // break; + case "9": + serviceClass = TrafRequestDetailPage(trafId: int.parse(messageData["requestNumber"].toString())); + break; + case "10": + serviceClass = EquipmentInternalAuditDetailPage(auditId: int.parse(messageData["requestNumber"].toString())); + break; + case "11": + serviceClass = SystemInternalAuditDetailPage(auditId: int.parse(messageData["requestNumber"].toString())); + break; + case "12": + serviceClass = LoanEquipmentDetailPage(loanId: int.parse(messageData["requestNumber"].toString())); + break; + // case "13": + // serviceClass = AssetDeliveryPage(requestId: int.parse(messageData["requestNumber"].toString())); + // break; + case "14": + serviceClass = MedicalGasInspectionDetailPage(inspectionId: int.parse(messageData["requestNumber"].toString()), prority: messageData["priorityName"]); + break; + case "15": + serviceClass = DemoDetailViewPage(demoId: int.parse(messageData["requestNumber"].toString()), moduleId: 15); + break; + case "16": + serviceClass = IncidentDetailPage(incidentId: int.parse(messageData["requestNumber"].toString())); + break; case "17": serviceClass = SurveyPage(surveyId: int.parse(messageData["requestNumber"].toString())); - //Didn't handle task request yet... - // case 6: - // serviceClass = TaskRequestDetailsView( - // taskId: int.parse(messageData["requestNumber"].toString()), - // requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"])); - // return; default: serviceClass = const Scaffold(appBar: DefaultAppBar(), body: Center(child: NoDataFound())); } - // if (messageData["requestType"] == "Service request to engineer") { - // serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); - // } else if (messageData["requestType"] == "Gas Refill") { - // serviceClass = GasRefillDetailsPage( - // priority: messageData["priority"], - // date: messageData["createdOn"], - // model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), - // ); - // } else if (messageData["requestType"] == "Asset Transfer") { - // serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString()))); - // } else if (messageData["requestType"] == "PPM") { - // serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); - // } - // else if (data["requestType"] == "WorkOrder") { - // - // } Navigator.of(context).push(MaterialPageRoute(builder: (_) => serviceClass!)); } }