assessor role added for TRAF.

design_3.0_internal_audit_module
Sikander Saleem 2 weeks ago
parent 8c45d89c3e
commit 40c7e75fa4

@ -134,19 +134,24 @@ class AllRequestsProvider extends ChangeNotifier {
List<int> getStatues(BuildContext context) {
List<int> list = [1, 2, 3, 4];
if (context.userProvider.user!.type != UsersTypes.normal_user) {
if (context.userProvider.isAssessor) {
list = [9];
return list;
}
if (!context.userProvider.isNurse) {
list.add(5);
}
list.add(6); // task module
if (context.settingProvider.isUserFlowMedical && context.userProvider.user!.type != UsersTypes.normal_user) {
if (context.settingProvider.isUserFlowMedical && !context.userProvider.isNurse) {
list.add(7); // task mod
}
if (context.userProvider.user!.type != UsersTypes.normal_user) {
if (!context.userProvider.isNurse) {
list.add(8); //
}
if (context.userProvider.user!.type == UsersTypes.normal_user) {
if (context.userProvider.isNurse) {
list.add(9); //
}

@ -8,6 +8,7 @@ import 'package:http/http.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/models/new_models/general_response_model.dart';
import 'package:test_sa/models/new_models/update_password.dart';
import 'package:test_sa/models/new_models/verify_otp_model.dart';
@ -39,6 +40,12 @@ class UserProvider extends ChangeNotifier {
File? profileImage;
bool get isEngineer => user!.type == UsersTypes.engineer;
bool get isNurse => user!.type == UsersTypes.normal_user;
bool get isAssessor => user!.type == UsersTypes.assessor || user!.type == UsersTypes.assessorTl;
VerifyOtpModel _verifyOtpModel = VerifyOtpModel();
SwipeTransaction _swipeTransactionModel = SwipeTransaction();
List<SwipeHistory> _swipeHistory = [];

@ -2,4 +2,6 @@ enum UsersTypes {
engineer, // 0
normal_user, // 1
nurse, // 1
assessor,
assessorTl
}

@ -94,6 +94,7 @@ class User {
}
return {"username": userName, "password": password, "fireBaseToken": FirebaseNotificationManger?.token ?? "", "notificationType": notificationType};
}
UsersTypes? get type {
switch (userRoles?.first.value) {
case "R-6":
@ -102,11 +103,16 @@ class User {
return UsersTypes.normal_user;
case "R-33": // Head Nurse Role
return UsersTypes.normal_user;
case "R-32": // Head Nurse Role
return UsersTypes.assessor;
case "R-19": // Head Nurse Role
return UsersTypes.assessorTl;
default:
return null;
}
}
Map<String, dynamic> toUpdateProfileJson() {
Map<String, dynamic> jsonObject = {};
// if (departmentId != null) jsonObject["department"] = departmentId;
@ -309,9 +315,7 @@ class AssetGroup {
}
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is AssetGroup && runtimeType == other.runtimeType && id == other.id;
bool operator ==(Object other) => identical(this, other) || other is AssetGroup && runtimeType == other.runtimeType && id == other.id;
@override
int get hashCode => id.hashCode;

@ -5,6 +5,7 @@ import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/modules/cm_module/views/nurse/create_new_request_view.dart';
import 'package:test_sa/modules/tm_module/tasks_wo/create_task_view.dart';
import 'package:test_sa/modules/traf_module/create_traf_request_page.dart';
@ -13,13 +14,11 @@ import 'package:test_sa/new_views/pages/gas_refill_request_form.dart';
import 'package:test_sa/views/pages/device_transfer/create__device_transfer_request.dart';
class CreateRequestTypeBottomSheet extends StatelessWidget {
final bool isEngineer;
const CreateRequestTypeBottomSheet({super.key, required this.isEngineer});
const CreateRequestTypeBottomSheet({super.key});
@override
Widget build(BuildContext context) {
List<CreateRequestModel> requestList = CreateRequestModel.requestsList(context, isEngineer);
List<CreateRequestModel> requestList = CreateRequestModel.requestsList(context);
return SafeArea(
top: false,
@ -89,9 +88,12 @@ class CreateRequestModel {
CreateRequestModel(this.title, this.icon, this.routeName);
static List<CreateRequestModel> requestsList(BuildContext context, bool isEngineer) {
static List<CreateRequestModel> requestsList(BuildContext context) {
List<CreateRequestModel> list = [];
if (isEngineer) {
if (context.userProvider.isAssessor) {
list.add(CreateRequestModel("TRAF".addTranslation, "add_icon", CreateTRAFRequestPage.id));
} else if (context.userProvider.isEngineer) {
if (Provider.of<SettingProvider>(context, listen: false).engineerCanCreateCM) {
list.add(CreateRequestModel(context.translation.correctiveMaintenance, "add_icon", CreateNewRequest.id));
}

@ -161,13 +161,12 @@ class _LandPageState extends State<LandPage> {
: AppBottomNavigationBar(
selectedIndex: currentPageIndex,
onPressed: (index) {
bool isEngineer = _userProvider!.user!.type == UsersTypes.engineer;
if (index == 2) {
showModalBottomSheet(
context: context,
useSafeArea: true,
backgroundColor: Colors.white,
builder: (context) => CreateRequestTypeBottomSheet(isEngineer: isEngineer),
builder: (context) => CreateRequestTypeBottomSheet(),
);
} else if (index == 4) {
showModalBottomSheet(

@ -60,7 +60,7 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
);
search!.searchBySelectedValue = search?.requestNumber;
}
final types = {
var types = {
context.translation.correctiveMaintenance: 1,
context.translation.gasRefill: 2,
context.translation.transferAsset: 3,
@ -79,6 +79,10 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
if (!isEngineer) {
types['TRAF'] = 9;
}
if (context.userProvider.isAssessor) {
types = {"TRAF": 9};
}
final statuses = {
"All WO": 0,
context.translation.open: 1,

@ -54,6 +54,13 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
requestsList.add(Request(9, 'TRAF'));
}
if (context.userProvider.isAssessor) {
requestsList = [
Request(null, context.translation.allWorkOrder),
Request(9, 'TRAF'),
];
}
_provider = Provider.of<AllRequestsProvider>(context, listen: false);
_provider!.reset();
WidgetsBinding.instance.addPostFrameCallback((_) {

Loading…
Cancel
Save