diff --git a/lib/view/taskPlaning/daily_progress.dart b/lib/view/taskPlaning/daily_progress.dart index 9fd6247..0b4bce0 100644 --- a/lib/view/taskPlaning/daily_progress.dart +++ b/lib/view/taskPlaning/daily_progress.dart @@ -15,6 +15,7 @@ import 'package:marco/helpers/widgets/avatar.dart'; import 'package:marco/controller/project_controller.dart'; import 'package:marco/model/dailyTaskPlaning/task_action_buttons.dart'; import 'package:marco/helpers/widgets/my_custom_skeleton.dart'; +import 'package:marco/helpers/utils/permission_constants.dart'; class DailyProgressReportScreen extends StatefulWidget { const DailyProgressReportScreen({super.key}); @@ -37,7 +38,7 @@ class _DailyProgressReportScreenState extends State final DailyTaskController dailyTaskController = Get.put(DailyTaskController()); final PermissionController permissionController = - Get.put(PermissionController()); + Get.find(); final ProjectController projectController = Get.find(); @override @@ -180,7 +181,7 @@ class _DailyProgressReportScreenState extends State required IconData icon, required String tooltip, required VoidCallback onTap, - Color? color, + Color? color, }) { return Row( children: [ @@ -204,27 +205,26 @@ class _DailyProgressReportScreenState extends State } Future _openFilterSheet() async { - final result = await showModalBottomSheet>( - context: context, - isScrollControlled: true, - backgroundColor: Colors.transparent, - builder: (context) => DailyProgressReportFilter( - controller: dailyTaskController, - permissionController: permissionController, - ), - ); + final result = await showModalBottomSheet>( + context: context, + isScrollControlled: true, + backgroundColor: Colors.transparent, + builder: (context) => DailyProgressReportFilter( + controller: dailyTaskController, + permissionController: permissionController, + ), + ); - if (result != null) { - final selectedProjectId = result['projectId'] as String?; - if (selectedProjectId != null && - selectedProjectId != dailyTaskController.selectedProjectId) { - dailyTaskController.selectedProjectId = selectedProjectId; - await dailyTaskController.fetchTaskData(selectedProjectId); - dailyTaskController.update(['daily_progress_report_controller']); + if (result != null) { + final selectedProjectId = result['projectId'] as String?; + if (selectedProjectId != null && + selectedProjectId != dailyTaskController.selectedProjectId) { + dailyTaskController.selectedProjectId = selectedProjectId; + await dailyTaskController.fetchTaskData(selectedProjectId); + dailyTaskController.update(['daily_progress_report_controller']); + } } } -} - Future _refreshData() async { final projectId = dailyTaskController.selectedProjectId; @@ -463,10 +463,12 @@ class _DailyProgressReportScreenState extends State child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ - if (task.reportedDate == null || - task.reportedDate - .toString() - .isEmpty) ...[ + if ((task.reportedDate == null || + task.reportedDate + .toString() + .isEmpty) && + permissionController.hasPermission( + Permissions.assignReportTask)) ...[ TaskActionButtons.reportButton( context: context, task: task, @@ -474,7 +476,10 @@ class _DailyProgressReportScreenState extends State refreshCallback: _refreshData, ), const SizedBox(width: 4), - ] else if (task.approvedBy == null) ...[ + ] else if (task.approvedBy == null && + permissionController.hasPermission( + Permissions + .approveTask)) ...[ TaskActionButtons.reportActionButton( context: context, task: task, @@ -496,7 +501,7 @@ class _DailyProgressReportScreenState extends State ), ], ), - ) + ), ], ), ),