diff --git a/lib/data/core/utils/const/firestore.dart b/lib/data/core/utils/const/firestore.dart index 613b89588..64ba90003 100644 --- a/lib/data/core/utils/const/firestore.dart +++ b/lib/data/core/utils/const/firestore.dart @@ -31,7 +31,7 @@ class FireStoreConst { static const String session = 'session'; static const String uid = 'uid'; - static const String id = 'uid'; + static const String requestedAt = 'requested_at'; static const String status = 'status'; static const String receiverEmail = 'receiver_email'; diff --git a/lib/data/services/hr_request_service.dart b/lib/data/services/hr_request_service.dart index 11e7f7acb..962b5ea2c 100644 --- a/lib/data/services/hr_request_service.dart +++ b/lib/data/services/hr_request_service.dart @@ -29,13 +29,15 @@ class HrRequestService { String get generateNewId => _hrRequestDB().doc().id; Future> getHrRequests() async { - final hrDeskRequestsCollection = await _hrRequestDB().get(); + final hrDeskRequestsCollection = + await _hrRequestDB().get(); return hrDeskRequestsCollection.docs.map((e) => e.data()).toList(); } Future> getHrRequestsOfUser(String uid) async { - final hrDeskRequestsCollection = - await _hrRequestDB().where(FireStoreConst.uid, isEqualTo: uid).get(); + final hrDeskRequestsCollection = await _hrRequestDB() + .where(FireStoreConst.uid, isEqualTo: uid) + .get(); return hrDeskRequestsCollection.docs.map((e) => e.data()).toList(); } diff --git a/lib/ui/shared/appbar_drawer/drawer/app_drawer.dart b/lib/ui/shared/appbar_drawer/drawer/app_drawer.dart index 69f38c70c..298d33c12 100644 --- a/lib/ui/shared/appbar_drawer/drawer/app_drawer.dart +++ b/lib/ui/shared/appbar_drawer/drawer/app_drawer.dart @@ -102,6 +102,16 @@ class DrawerOptionList extends StatelessWidget { padding: const EdgeInsets.all(8.0), child: Column( children: [ + ValidateWidget( + isValid: !isAdminOrHr, + child: DrawerOption( + icon: Icons.help_outline_rounded, + title: "HR Service Desk", + onTap: () { + context.pop(); + context.pushNamed(Routes.hrRequests); + }), + ), ValidateWidget( isValid: isAdmin, child: DrawerOption( diff --git a/lib/ui/user/home/home_screen/user_home_screen.dart b/lib/ui/user/home/home_screen/user_home_screen.dart index cab7bd441..f5904dd20 100644 --- a/lib/ui/user/home/home_screen/user_home_screen.dart +++ b/lib/ui/user/home/home_screen/user_home_screen.dart @@ -96,9 +96,6 @@ class _UserHomeScreenState extends State { padding: const EdgeInsets.all(primaryHorizontalSpacing), children: [ const WhoIsOutCard(), - ElevatedButton(onPressed: (){ - context.goNamed(Routes.hrRequests); - }, child: Text(locale.hr_requests_title)), BlocConsumer( buildWhen: (previous, current) => current is! UserHomeErrorState, diff --git a/lib/ui/user/hr_requests/bloc/hr_requests_bloc.dart b/lib/ui/user/hr_requests/bloc/hr_requests_bloc.dart index 3ac180f09..c7729437a 100644 --- a/lib/ui/user/hr_requests/bloc/hr_requests_bloc.dart +++ b/lib/ui/user/hr_requests/bloc/hr_requests_bloc.dart @@ -24,12 +24,12 @@ class HrRequestsBloc try { final hrServiceDeskRequests = await _hrRequestService .getHrRequestsOfUser(_userStateNotifier.employeeId); + hrServiceDeskRequests.sort((a, b) => b.requestedAt.compareTo(a.requestedAt)); emit(state.copyWith( status: Status.success, hrServiceDeskRequests: hrServiceDeskRequests)); } on Exception { - emit( - state.copyWith(status: Status.error, error: firestoreFetchDataError)); + emit(state.copyWith(status: Status.error, error: firestoreFetchDataError)); } } }