Merge branch 'refs/heads/main_production' into ui_ux_rollout_merge_notification_settings

ui_ux_rollout_merge_notification_settings
Sikander Saleem 24 hours ago
commit 3afcb220a7

@ -137,7 +137,14 @@ class AllRequestsProvider extends ChangeNotifier {
List<int> list = [1, 2, 3, 4]; List<int> list = [1, 2, 3, 4];
if (context.userProvider.isAssessor) { if (context.userProvider.isAssessor) {
list = [9, 15]; list = [9];
context.userProvider.modulesPermissionsList.forEach((module) {
if (module.module!.value! == 8 || module.module!.value! == 9 || module.module!.value! == 15) {
list.add(module.module!.value!);
}
});
list.add(16);
list = list.toSet().toList();
return list; return list;
} }
if (context.userProvider.isQualityUser) { if (context.userProvider.isQualityUser) {
@ -158,9 +165,8 @@ class AllRequestsProvider extends ChangeNotifier {
list.add(7); // task mod list.add(7); // task mod
} }
//TODO uncommit this to enable TRAF in production.
context.userProvider.modulesPermissionsList.forEach((module) { context.userProvider.modulesPermissionsList.forEach((module) {
if (module.module!.value! == 8 || module.module!.value! == 9) { if (module.module!.value! == 8 || module.module!.value! == 9 || module.module!.value! == 15) {
list.add(module.module!.value!); list.add(module.module!.value!);
} }
}); });
@ -184,11 +190,10 @@ class AllRequestsProvider extends ChangeNotifier {
// list = [16]; // list = [16];
list.add(16); list.add(16);
} }
if ( context.userProvider.isHouseKeeper) { if (context.userProvider.isHouseKeeper) {
list = [5]; list = [5];
} }
return list; return list;
} }

@ -68,7 +68,13 @@ class UserProvider extends ChangeNotifier {
List<ModulesPermissionsModel> get modulesPermissionsList => _modulesPermissionsModel; List<ModulesPermissionsModel> get modulesPermissionsList => _modulesPermissionsModel;
ModulesPermissionsModel currentModelPermission(int moduleId) => ModulesPermissionsModel.fromJson(_modulesPermissionsModel.singleWhere((module) => module.module!.value == moduleId).toJson()); ModulesPermissionsModel? currentModelPermission(int moduleId) {
try {
return ModulesPermissionsModel.fromJson(_modulesPermissionsModel.singleWhere((module) => module.module!.value == moduleId).toJson());
} catch (ex) {
return null;
}
}
set swipeHistory(List<SwipeHistory> value) { set swipeHistory(List<SwipeHistory> value) {
_swipeHistory = value; _swipeHistory = value;

@ -69,6 +69,7 @@ import 'package:test_sa/modules/applicationDemo/providers/application_demo_reque
import 'package:test_sa/modules/applicationDemo/screens/application_demo_request_form_screen.dart'; import 'package:test_sa/modules/applicationDemo/screens/application_demo_request_form_screen.dart';
import 'package:test_sa/modules/tm_module/gas_refill/create_gas_refill_request.dart'; import 'package:test_sa/modules/tm_module/gas_refill/create_gas_refill_request.dart';
import 'package:test_sa/modules/tm_module/gas_refill/update_gas_refill_request.dart'; import 'package:test_sa/modules/tm_module/gas_refill/update_gas_refill_request.dart';
import 'package:test_sa/modules/traf_module/traf_request_provider.dart';
import 'package:test_sa/new_views/app_style/app_themes.dart'; import 'package:test_sa/new_views/app_style/app_themes.dart';
import 'package:test_sa/new_views/pages/help_center_page.dart'; import 'package:test_sa/new_views/pages/help_center_page.dart';
import 'package:test_sa/new_views/pages/land_page/land_page.dart'; import 'package:test_sa/new_views/pages/land_page/land_page.dart';
@ -147,6 +148,8 @@ import 'modules/tm_module/device_transfer/device_filter_screen.dart';
import 'modules/tm_module/device_transfer/device_search_screen.dart'; import 'modules/tm_module/device_transfer/device_search_screen.dart';
import 'modules/tm_module/tasks/create_task_view.dart'; import 'modules/tm_module/tasks/create_task_view.dart';
import 'modules/tm_module/gas_refill/gas_refill_request_form.dart'; import 'modules/tm_module/gas_refill/gas_refill_request_form.dart';
import 'modules/traf_module/create_traf_request_page.dart';
import 'modules/traf_module/update_traf_request_page.dart';
import 'providers/lookups/classification_lookup_provider.dart'; import 'providers/lookups/classification_lookup_provider.dart';
import 'providers/lookups/customer_lookup_provider.dart'; import 'providers/lookups/customer_lookup_provider.dart';
import 'providers/lookups/department_lookup_provider.dart'; import 'providers/lookups/department_lookup_provider.dart';
@ -342,6 +345,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => LoanProvider(), lazy: true), ChangeNotifierProvider(create: (_) => LoanProvider(), lazy: true),
ChangeNotifierProvider(create: (_) => LoanPeriodProvider(), lazy: true), ChangeNotifierProvider(create: (_) => LoanPeriodProvider(), lazy: true),
ChangeNotifierProvider(create: (_) => DemoProvider(), lazy: true), ChangeNotifierProvider(create: (_) => DemoProvider(), lazy: true),
ChangeNotifierProvider(create: (_) => TrafRequestProvider(), lazy: true),
// MEDICAL GAS INSPECTION PROVIDERS (4) // MEDICAL GAS INSPECTION PROVIDERS (4)
ChangeNotifierProvider(create: (_) => MedicalGasOrderTypeProvider(), lazy: true), ChangeNotifierProvider(create: (_) => MedicalGasOrderTypeProvider(), lazy: true),
@ -427,6 +431,8 @@ class MyApp extends StatelessWidget {
LandPage.routeName: (_) => const LandPage(), LandPage.routeName: (_) => const LandPage(),
GasRefillRequestForm.routeName: (_) => const GasRefillRequestForm(), GasRefillRequestForm.routeName: (_) => const GasRefillRequestForm(),
CreateTaskView.id: (_) => const CreateTaskView(), CreateTaskView.id: (_) => const CreateTaskView(),
CreateTRAFRequestPage.id: (_) => CreateTRAFRequestPage(),
UpdateTrafRequestPage.id: (_) => UpdateTrafRequestPage(),
CreateGasRefillRequest.id: (_) => const CreateGasRefillRequest(), CreateGasRefillRequest.id: (_) => const CreateGasRefillRequest(),
CreateCMRequest.id: (_) => const CreateCMRequest(), CreateCMRequest.id: (_) => const CreateCMRequest(),
MyAssetsPage.id: (_) => const MyAssetsPage(), MyAssetsPage.id: (_) => const MyAssetsPage(),

@ -33,49 +33,51 @@ class IncidentDetailPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const DefaultAppBar(title: "Request Details"), appBar: const DefaultAppBar(title: "Request Details"),
body: FutureBuilder<IncidentDataModel?>( body: SafeArea(
future: Provider.of<IncidentProvider>(context, listen: false).getIncidentById(incidentId), child: FutureBuilder<IncidentDataModel?>(
builder: (BuildContext context, AsyncSnapshot<IncidentDataModel?> snapshot) { future: Provider.of<IncidentProvider>(context, listen: false).getIncidentById(incidentId),
if (snapshot.connectionState == ConnectionState.waiting) return CircularProgressIndicator(color: AppColor.loadingColor(context)).center; builder: (BuildContext context, AsyncSnapshot<IncidentDataModel?> snapshot) {
if (snapshot.data == null) return const NoDataFound().center; if (snapshot.connectionState == ConnectionState.waiting) return CircularProgressIndicator(color: AppColor.loadingColor(context)).center;
if (snapshot.data == null) return const NoDataFound().center;
List<IncidentAttachments> allAttachments = snapshot.data!.incidentAttachments!; List<IncidentAttachments> allAttachments = snapshot.data!.incidentAttachments!;
return SingleChildScrollView( return SingleChildScrollView(
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
StatusLabel( StatusLabel(
label: snapshot.data!.incidentStatusName!, label: snapshot.data!.incidentStatusName!,
textColor: AppColor.getRequestStatusTextColorByName(context, snapshot.data!.incidentStatusName!), textColor: AppColor.getRequestStatusTextColorByName(context, snapshot.data!.incidentStatusName!),
backgroundColor: AppColor.getRequestStatusColorByName(context, snapshot.data!.incidentStatusName!), backgroundColor: AppColor.getRequestStatusColorByName(context, snapshot.data!.incidentStatusName!),
), ),
1.width.expanded, 1.width.expanded,
InfoDateWidget(snapshot.data!.createdDate?.toString() ?? ""), InfoDateWidget(snapshot.data!.createdDate?.toString() ?? ""),
], ],
), ),
// 12.height, // 12.height,
...requesterDetails(context, snapshot.data!), ...requesterDetails(context, snapshot.data!),
const Divider().defaultStyle(context), const Divider().defaultStyle(context),
...requestDetails(context, snapshot.data!), ...requestDetails(context, snapshot.data!),
if (snapshot.data!.ovrTicketNumber?.isNotEmpty ?? false) ovrInformation(context, snapshot.data!.ovrTicketNumber!), if (snapshot.data!.ovrTicketNumber?.isNotEmpty ?? false) ovrInformation(context, snapshot.data!.ovrTicketNumber!),
const Divider().defaultStyle(context),
...assetDetails(context, snapshot.data!),
const Divider().defaultStyle(context),
...personInvolvedDetails(context, snapshot.data!),
if (allAttachments.isNotEmpty) ...[
const Divider().defaultStyle(context), const Divider().defaultStyle(context),
InfoHeader16Widget("Attachments".addTranslation), ...assetDetails(context, snapshot.data!),
FilesList(images: allAttachments.map((e) => URLs.getFileUrl(e.attachmentName ?? '') ?? '').toList() ?? []), const Divider().defaultStyle(context),
...personInvolvedDetails(context, snapshot.data!),
if (allAttachments.isNotEmpty) ...[
const Divider().defaultStyle(context),
InfoHeader16Widget("Attachments".addTranslation),
FilesList(images: allAttachments.map((e) => URLs.getFileUrl(e.attachmentName ?? '') ?? '').toList() ?? []),
],
], ],
], ).toShadowContainer(context),
).toShadowContainer(context), );
); }),
})); ));
} }
List<Widget> requestDetails(BuildContext context, IncidentDataModel incidentData) { List<Widget> requestDetails(BuildContext context, IncidentDataModel incidentData) {

@ -67,30 +67,32 @@ class _TrafRequestDetailPageState extends State<TrafRequestDetailPage> {
} }
return trafProvider.trafRequestDataModel == null return trafProvider.trafRequestDataModel == null
? const NoDataFound().center ? const NoDataFound().center
: Column( : SafeArea(
children: [ child: Column(
ListView( children: [
padding: const EdgeInsets.all(16), ListView(
children: [ padding: const EdgeInsets.all(16),
requesterInformation(trafProvider.trafRequestDataModel!), children: [
12.height, requesterInformation(trafProvider.trafRequestDataModel!),
requestInformation(trafProvider.trafRequestDataModel!), 12.height,
12.height, requestInformation(trafProvider.trafRequestDataModel!),
assetInformation(trafProvider.trafRequestDataModel!), 12.height,
], assetInformation(trafProvider.trafRequestDataModel!),
).expanded, ],
// // if (isEngineer) ).expanded,
// FooterActionButton.footerContainer( // // if (isEngineer)
// context: context, // FooterActionButton.footerContainer(
// child: AppFilledButton( // context: context,
// buttonColor: AppColor.primary10, // child: AppFilledButton(
// label: "Update", // buttonColor: AppColor.primary10,
// onPressed: () { // label: "Update",
// Navigator.pushNamed(context, UpdateTrafRequestPage.id); // onPressed: () {
// }), // Navigator.pushNamed(context, UpdateTrafRequestPage.id);
// ), // }),
], // ),
); ],
),
);
}, },
)); ));
} }

@ -141,6 +141,11 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
'Assessment of Need & Technology': 9, 'Assessment of Need & Technology': 9,
// 'Demo': 15, moved to permission api // 'Demo': 15, moved to permission api
}; };
context.userProvider.modulesPermissionsList.forEach((module) {
if (module.module!.value! == 8 || module.module!.value! == 9 || module.module!.value! == 15) {
types[module.module!.name!] = module.module!.value!;
}
});
} }
if (context.settingProvider.isUserFlowMedical && !context.userProvider.isNurse) { if (context.settingProvider.isUserFlowMedical && !context.userProvider.isNurse) {
types['Incidents'] = 16; types['Incidents'] = 16;

@ -130,6 +130,17 @@ class _MyRequestsPageState extends State<MyRequestsPage> with SingleTickerProvid
Request(9, 'Assessment of Need & Technology'), Request(9, 'Assessment of Need & Technology'),
// Request(15, 'Demo'), moved to permission api // Request(15, 'Demo'), moved to permission api
]; ];
context.userProvider.modulesPermissionsList.forEach((module) {
if (module.module!.value! == 8 || module.module!.value! == 9 || module.module!.value! == 15) {
requestsList.add(Request(module.module!.value!, module.module!.name!.addTranslation));
}
});
final seenIds = <int>{};
requestsList = requestsList.where((req) {
return req.id == null ? true : seenIds.add(req.id!);
}).toList();
} }
if (context.userProvider.isCommissioningEngineer && context.settingProvider.isUserFlowMedical) { if (context.userProvider.isCommissioningEngineer && context.settingProvider.isUserFlowMedical) {
///TODO need to show only allowed ids for all workOrder ///TODO need to show only allowed ids for all workOrder

Loading…
Cancel
Save