From b3845489d755a9851fc6313231ec8452302177d1 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 9 Sep 2025 11:45:09 +0200 Subject: [PATCH] update access controls nav --- .../builder/build_business_access_list.dart | 13 +++++++--- .../package_tools/mih_access_requests.dart | 19 +++++++++----- .../mih_access_controls_services.dart | 2 ++ .../mih_notification_services.dart | 25 +++++++++++++------ 4 files changed, 41 insertions(+), 18 deletions(-) diff --git a/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart b/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart index 12243736..2aca7f2c 100644 --- a/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart +++ b/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; +import 'package:ken_logger/ken_logger.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; @@ -15,11 +16,13 @@ import 'package:mzansi_innovation_hub/mih_components/mih_objects/patient_access. class BuildBusinessAccessList extends StatefulWidget { final List patientAccessList; final AppUser signedInUser; + final void Function()? onSuccessUpate; const BuildBusinessAccessList({ super.key, required this.patientAccessList, required this.signedInUser, + required this.onSuccessUpate, }); @override @@ -354,6 +357,7 @@ class _BuildPatientsListState extends State { context, ); if (statusCode == 200) { + context.pop(); successPopUp("Successfully Actioned Request", "You have successfully Declined access request"); } else { @@ -389,6 +393,7 @@ class _BuildPatientsListState extends State { context, ); if (statusCode == 200) { + context.pop(); successPopUp("Successfully Actioned Request", "You have successfully Accepted access request"); } else { @@ -452,10 +457,10 @@ class _BuildPatientsListState extends State { child: MihButton( onPressed: () { context.pop(); - context.goNamed( - "mihAccess", - extra: widget.signedInUser, - ); + KenLogger.warning("dismissing pop up and refreshing list"); + if (widget.onSuccessUpate != null) { + widget.onSuccessUpate!(); + } }, buttonColor: MihColors.getGreenColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), diff --git a/Frontend/lib/mih_packages/access_review/package_tools/mih_access_requests.dart b/Frontend/lib/mih_packages/access_review/package_tools/mih_access_requests.dart index 49cfe479..aca607c2 100644 --- a/Frontend/lib/mih_packages/access_review/package_tools/mih_access_requests.dart +++ b/Frontend/lib/mih_packages/access_review/package_tools/mih_access_requests.dart @@ -1,3 +1,5 @@ +import 'package:go_router/go_router.dart'; +import 'package:ken_logger/ken_logger.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; @@ -5,7 +7,6 @@ import 'package:mzansi_innovation_hub/mih_services/mih_validation_services.dart' import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_dropdwn_field.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; import '../../../mih_services/mih_service_calls.dart'; import '../../../mih_components/mih_layout/mih_action.dart'; @@ -105,12 +106,11 @@ class _MihAccessRequestState extends State { icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { - Navigator.of(context).pop(); - - Navigator.of(context).popAndPushNamed( - '/', - arguments: AuthArguments(true, false), + context.goNamed( + 'mihHome', + extra: false, ); + FocusScope.of(context).unfocus(); }, ); } @@ -164,6 +164,7 @@ class _MihAccessRequestState extends State { setState(() { forceRefresh = true; }); + KenLogger.warning("Refreshing Access List"); refreshList(); }, icon: const Icon( @@ -186,6 +187,12 @@ class _MihAccessRequestState extends State { return BuildBusinessAccessList( signedInUser: widget.signedInUser, patientAccessList: accessRequestList, + onSuccessUpate: () { + setState(() { + forceRefresh = true; + }); + refreshList(); + }, ); } else { return Padding( diff --git a/Frontend/lib/mih_services/mih_access_controls_services.dart b/Frontend/lib/mih_services/mih_access_controls_services.dart index 6b89dffd..931c4899 100644 --- a/Frontend/lib/mih_services/mih_access_controls_services.dart +++ b/Frontend/lib/mih_services/mih_access_controls_services.dart @@ -1,5 +1,6 @@ import 'dart:convert'; import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_env.dart'; @@ -45,6 +46,7 @@ class MihAccessControlsServices { "approved_by": approved_by, }), ); + context.pop(); return response.statusCode; // if (response.statusCode == 200) { // //Navigator.of(context).pushNamed('/home'); diff --git a/Frontend/lib/mih_services/mih_notification_services.dart b/Frontend/lib/mih_services/mih_notification_services.dart index c58bca6f..0b45bbd4 100644 --- a/Frontend/lib/mih_services/mih_notification_services.dart +++ b/Frontend/lib/mih_services/mih_notification_services.dart @@ -1,5 +1,6 @@ import 'dart:convert'; +import 'package:go_router/go_router.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/notification.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; @@ -61,10 +62,9 @@ class MihNotificationApis { String message = "A request has been sent to the patient advising that you have requested access to their profile. Only once access has been granted will you be able to book an appointment."; Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pushNamed( - '/patient-manager', - arguments: PatManagerArguments( + context.goNamed( + 'patientManager', + extra: PatManagerArguments( args.signedInUser, personalSelected, args.business, @@ -108,16 +108,25 @@ class MihNotificationApis { String message = "A request has been sent to the patient advising that you have re-applied for access to their profile. Only once access has been granted will you be able to book an appointment."; Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pushNamed( - '/patient-manager', - arguments: PatManagerArguments( + context.goNamed( + 'patientManager', + extra: PatManagerArguments( args.signedInUser, personalSelected, args.business, args.businessUser, ), ); + // Navigator.of(context).pop(); + // Navigator.of(context).pushNamed( + // '/patient-manager', + // arguments: PatManagerArguments( + // args.signedInUser, + // personalSelected, + // args.business, + // args.businessUser, + // ), + // ); successPopUp(message, context); } else { internetConnectionPopUp(context);