demo moved to permission api.

design_3.0_demo_module
Sikander Saleem 19 hours ago
parent d837d01629
commit 3180a80a88

@ -7,8 +7,8 @@ class URLs {
// static const host1 = "https://atomsmdev.hmg.com"; // local DEV url
static const host1 = "https://atomsmuat.hmg.com"; // local UAT url
static final String _baseUrl = "$_host/mobile"; // host local UAT
// static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis
// static final String _baseUrl = "$_host/mobile"; // host local UAT
static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis
// static final String _baseUrl = "$_host/v3/mobile"; // v3 for production CM,PM,TM
// static final String _baseUrl = "$_host/v4/mobile"; // v4 for Demo module
// static final String _baseUrl = "$_host/v5/mobile"; // v5 for data segregation

@ -131,6 +131,8 @@ extension IntExtensionsDemoRequest on int {
return DemoRequestStepEnum.viewOnly;
case 15:
return DemoRequestStepEnum.extendDemoPeriod;
case 18:
return DemoRequestStepEnum.submitEvaluation;
default:
return DemoRequestStepEnum.viewOnly;
}

@ -454,6 +454,7 @@ class FooterActionButton {
// },
// ),
// );
return const SizedBox();
case DemoRequestStepEnum.viewOnly:
return const SizedBox();
case DemoRequestStepEnum.extendDemoPeriod:

@ -7,6 +7,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/helper/utils.dart';
import 'package:test_sa/models/enums/demo_request_step.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/module_permissions_model.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/demo_module/demo_extension_bottom_sheet.dart';
import 'package:test_sa/modules/demo_module/models/demo_request_model.dart';
@ -29,8 +30,9 @@ import 'models/demo_attachment_model.dart';
class DemoDetailViewPage extends StatefulWidget {
static const String id = "/demo-detail-page";
final int demoId;
final int moduleId;
DemoDetailViewPage({Key? key, required this.demoId}) : super(key: key);
DemoDetailViewPage({Key? key, required this.demoId, required this.moduleId}) : super(key: key);
@override
_DemoDetailViewPageState createState() {
@ -48,11 +50,12 @@ class _DemoDetailViewPageState extends State<DemoDetailViewPage> {
//Todo need to check about attachments.
// bool loading = false;
ModulesPermissionsModel? modelPermission;
@override
void initState() {
demoProvider = Provider.of<DemoProvider>(context, listen: false);
modelPermission = context.userProvider.currentModelPermission(widget.moduleId);
// WidgetsBinding.instance.addPostFrameCallback((_) {
// getDetailsById();
// });
@ -143,43 +146,44 @@ class _DemoDetailViewPageState extends State<DemoDetailViewPage> {
],
).toShadowContainer(context, padding: 12),
).expanded,
if (context.userProvider.isNurse && context.settingProvider.isUserFlowMedical && (demoData.status!.value == 2))
FooterActionButton.footerContainer(
context: context,
child: AppFilledButton(
label: context.translation.cancel,
buttonColor: AppColor.white60,
textColor: AppColor.black10,
loading: false,
onPressed: () async {
showDialog(
context: context,
builder: (BuildContext cxt) => AcknowledgeWorkDialog(
message: "Are you sure, you want to cancel request?",
confirmButtonText: 'Confirm',
cancelButtonText: 'Cancel',
onSave: () async {
Utils.showLoading(context);
DemoProvider demoProvider = Provider.of<DemoProvider>(context, listen: false);
bool isSuccess = await demoProvider.cancelRequest(demoData.id!);
Utils.hideLoading(context);
if (isSuccess) {
setState(() {});
}
},
onDiscard: () {},
),
);
},
),
)
else
FooterActionButton.demoRequestDetailsFooterWidget(
demoRequestStage: demoData.status!.demoRequestStepEnum!,
dataModel: demoData,
status: demoData.status!,
if (modelPermission?.canEdit ?? false)
if (context.userProvider.isNurse && context.settingProvider.isUserFlowMedical && (demoData.status!.value == 2))
FooterActionButton.footerContainer(
context: context,
refreshData: () => setState(() {})).toShadowContainer(context, padding: 0, showShadow: false, borderRadius: 0),
child: AppFilledButton(
label: context.translation.cancel,
buttonColor: AppColor.white60,
textColor: AppColor.black10,
loading: false,
onPressed: () async {
showDialog(
context: context,
builder: (BuildContext cxt) => AcknowledgeWorkDialog(
message: "Are you sure, you want to cancel request?",
confirmButtonText: 'Confirm',
cancelButtonText: 'Cancel',
onSave: () async {
Utils.showLoading(context);
DemoProvider demoProvider = Provider.of<DemoProvider>(context, listen: false);
bool isSuccess = await demoProvider.cancelRequest(demoData.id!);
Utils.hideLoading(context);
if (isSuccess) {
setState(() {});
}
},
onDiscard: () {},
),
);
},
),
)
else
FooterActionButton.demoRequestDetailsFooterWidget(
demoRequestStage: demoData.status!.demoRequestStepEnum!,
dataModel: demoData,
status: demoData.status!,
context: context,
refreshData: () => setState(() {})).toShadowContainer(context, padding: 0, showShadow: false, borderRadius: 0),
],
);
}));

@ -60,7 +60,7 @@ class DemoRequestItemView extends StatelessWidget {
),
],
).toShadowContainer(context, withShadow: showShadow).onPress(() async {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => DemoDetailViewPage(demoId: requestData!.id!)));
Navigator.of(context).push(MaterialPageRoute(builder: (_) => DemoDetailViewPage(demoId: requestData!.id!, moduleId: requestData!.transactionNo!)));
});
}
return Column(
@ -100,7 +100,7 @@ class DemoRequestItemView extends StatelessWidget {
),
],
).toShadowContainer(context, withShadow: showShadow).onPress(() async {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => DemoDetailViewPage(demoId: requestDetails!.id!)));
Navigator.of(context).push(MaterialPageRoute(builder: (_) => DemoDetailViewPage(demoId: requestDetails!.id!, moduleId: requestDetails!.transactionType!)));
});
}

@ -135,16 +135,27 @@ class CreateRequestModel {
list.add(CreateRequestModel(context.translation.correctiveMaintenance, "add_icon", CreateCMRequest.id));
list.add(CreateRequestModel(context.translation.gasRefill, "add_icon", GasRefillRequestForm.routeName));
list.add(CreateRequestModel(context.translation.transferAsset, "add_icon", CreateDeviceTransferRequest.id));
//TODO uncommit this to enable task.
list.add(CreateRequestModel(context.translation.task, "add_icon", CreateTaskView.id));
context.userProvider.modulesPermissionsList.forEach((module) {
if (module.module!.value! == 9) {
list.add(CreateRequestModel("TRAF".addTranslation, "add_icon", CreateTRAFRequestPage.id));
}
});
list.add(CreateRequestModel('Loan Equipment Request'.addTranslation, "add_icon", CreateLoanRequestPage.id));
list.add(CreateRequestModel('Demo Request'.addTranslation, "add_icon", CreateDemoRequestPage.id));
// context.userProvider.modulesPermissionsList.forEach((module) {
// if (module.module!.value! == 9) {
// list.add(CreateRequestModel("TRAF".addTranslation, "add_icon", CreateTRAFRequestPage.id));
// }
// });
if (context.settingProvider.isUserFlowMedical) {
list.add(CreateRequestModel('Loan Equipment Request'.addTranslation, "add_icon", CreateLoanRequestPage.id));
// list.add(CreateRequestModel('Demo Request'.addTranslation, "add_icon", CreateDemoRequestPage.id));
}
}
context.userProvider.modulesPermissionsList.forEach((module) {
if (module.module!.value! == 9 && (module.canAdd ?? false)) {
list.add(CreateRequestModel("TRAF".addTranslation, "add_icon", CreateTRAFRequestPage.id));
}
if (module.module!.value! == 15 && (module.canAdd ?? false)) {
list.add(CreateRequestModel('Demo Request'.addTranslation, "add_icon", CreateDemoRequestPage.id));
}
});
if (!context.userProvider.isNurse && context.settingProvider.isUserFlowMedical) {
list.add(CreateRequestModel("Incident Management", "add_icon", CreateIncidentRequestPage.id));
}

@ -74,8 +74,6 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
context.translation.transferAsset: 3,
context.translation.preventiveMaintenance: 4,
context.translation.task: 6,
"Loan Equipment": 12,
"Demo": 15,
};
if (isEngineer) {
@ -91,7 +89,7 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
// switching asset inventory to users permissions
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) {
types[module.module!.name!] = module.module!.value!;
}
});
@ -108,6 +106,12 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
if (context.settingProvider.isUserFlowMedical) types['Equipment Internal Audit'] = 10;
if (context.settingProvider.isUserFlowMedical) types['System Internal Audit'] = 11;
}
if (context.settingProvider.isUserFlowMedical) {
types['Loan Equipment'] = 12;
// types['Demo'] = 15; moved to permission api
}
if (context.userProvider.isCommissioningEngineer && context.settingProvider.isUserFlowMedical) {
///TODO need to check what other requests type needed here.
types = {'Asset Delivery': 13};
@ -117,7 +121,7 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
if (context.settingProvider.isUserFlowMedical && context.userProvider.isAssessor) {
types = {
'TRAF': 9,
'Demo Request': 15,
// 'Demo': 15, moved to permission api
};
}
if (context.settingProvider.isUserFlowMedical && !context.userProvider.isNurse) {

@ -58,7 +58,7 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
// switching asset inventory to users permissions
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) {
requestsList.add(Request(module.module!.value!, module.module!.name!.addTranslation));
}
});
@ -74,14 +74,16 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
requestsList.add(Request(14, "Medical Gas Inspection"));
}
requestsList.add(Request(12, "Loan Equipment"));
requestsList.add(Request(15, "Demo"));
if (context.userProvider.isAssessor) {
if (context.settingProvider.isUserFlowMedical) {
requestsList.add(Request(12, "Loan Equipment"));
// requestsList.add(Request(15, "Demo")); moved to permission api
}
if (context.userProvider.isAssessor) {
requestsList = [
Request(null, context.translation.allWorkOrder),
Request(9, 'TRAF'),
Request(15, 'Demo'),
// Request(15, 'Demo'), moved to permission api
];
}
if (context.userProvider.isCommissioningEngineer && context.settingProvider.isUserFlowMedical) {

Loading…
Cancel
Save