Merge branch 'refs/heads/main_production' into ui_ux_rollout_merge_notification_settings

ui_ux_rollout_merge_notification_settings
Sikander Saleem 22 hours ago
commit 3afcb220a7

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

@ -68,7 +68,13 @@ class UserProvider extends ChangeNotifier {
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) {
_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/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/traf_module/traf_request_provider.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/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/tasks/create_task_view.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/customer_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: (_) => LoanPeriodProvider(), lazy: true),
ChangeNotifierProvider(create: (_) => DemoProvider(), lazy: true),
ChangeNotifierProvider(create: (_) => TrafRequestProvider(), lazy: true),
// MEDICAL GAS INSPECTION PROVIDERS (4)
ChangeNotifierProvider(create: (_) => MedicalGasOrderTypeProvider(), lazy: true),
@ -427,6 +431,8 @@ class MyApp extends StatelessWidget {
LandPage.routeName: (_) => const LandPage(),
GasRefillRequestForm.routeName: (_) => const GasRefillRequestForm(),
CreateTaskView.id: (_) => const CreateTaskView(),
CreateTRAFRequestPage.id: (_) => CreateTRAFRequestPage(),
UpdateTrafRequestPage.id: (_) => UpdateTrafRequestPage(),
CreateGasRefillRequest.id: (_) => const CreateGasRefillRequest(),
CreateCMRequest.id: (_) => const CreateCMRequest(),
MyAssetsPage.id: (_) => const MyAssetsPage(),

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

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

@ -141,6 +141,11 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
'Assessment of Need & Technology': 9,
// '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) {
types['Incidents'] = 16;

@ -130,6 +130,17 @@ class _MyRequestsPageState extends State<MyRequestsPage> with SingleTickerProvid
Request(9, 'Assessment of Need & Technology'),
// 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) {
///TODO need to show only allowed ids for all workOrder

Loading…
Cancel
Save