added permission for report action and repost task
This commit is contained in:
parent
77dcd9af8e
commit
10e4a6e514
@ -15,6 +15,7 @@ import 'package:marco/helpers/widgets/avatar.dart';
|
|||||||
import 'package:marco/controller/project_controller.dart';
|
import 'package:marco/controller/project_controller.dart';
|
||||||
import 'package:marco/model/dailyTaskPlaning/task_action_buttons.dart';
|
import 'package:marco/model/dailyTaskPlaning/task_action_buttons.dart';
|
||||||
import 'package:marco/helpers/widgets/my_custom_skeleton.dart';
|
import 'package:marco/helpers/widgets/my_custom_skeleton.dart';
|
||||||
|
import 'package:marco/helpers/utils/permission_constants.dart';
|
||||||
|
|
||||||
class DailyProgressReportScreen extends StatefulWidget {
|
class DailyProgressReportScreen extends StatefulWidget {
|
||||||
const DailyProgressReportScreen({super.key});
|
const DailyProgressReportScreen({super.key});
|
||||||
@ -37,7 +38,7 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
|||||||
final DailyTaskController dailyTaskController =
|
final DailyTaskController dailyTaskController =
|
||||||
Get.put(DailyTaskController());
|
Get.put(DailyTaskController());
|
||||||
final PermissionController permissionController =
|
final PermissionController permissionController =
|
||||||
Get.put(PermissionController());
|
Get.find<PermissionController>();
|
||||||
final ProjectController projectController = Get.find<ProjectController>();
|
final ProjectController projectController = Get.find<ProjectController>();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -180,7 +181,7 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
|||||||
required IconData icon,
|
required IconData icon,
|
||||||
required String tooltip,
|
required String tooltip,
|
||||||
required VoidCallback onTap,
|
required VoidCallback onTap,
|
||||||
Color? color,
|
Color? color,
|
||||||
}) {
|
}) {
|
||||||
return Row(
|
return Row(
|
||||||
children: [
|
children: [
|
||||||
@ -204,27 +205,26 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _openFilterSheet() async {
|
Future<void> _openFilterSheet() async {
|
||||||
final result = await showModalBottomSheet<Map<String, dynamic>>(
|
final result = await showModalBottomSheet<Map<String, dynamic>>(
|
||||||
context: context,
|
context: context,
|
||||||
isScrollControlled: true,
|
isScrollControlled: true,
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
builder: (context) => DailyProgressReportFilter(
|
builder: (context) => DailyProgressReportFilter(
|
||||||
controller: dailyTaskController,
|
controller: dailyTaskController,
|
||||||
permissionController: permissionController,
|
permissionController: permissionController,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
final selectedProjectId = result['projectId'] as String?;
|
final selectedProjectId = result['projectId'] as String?;
|
||||||
if (selectedProjectId != null &&
|
if (selectedProjectId != null &&
|
||||||
selectedProjectId != dailyTaskController.selectedProjectId) {
|
selectedProjectId != dailyTaskController.selectedProjectId) {
|
||||||
dailyTaskController.selectedProjectId = selectedProjectId;
|
dailyTaskController.selectedProjectId = selectedProjectId;
|
||||||
await dailyTaskController.fetchTaskData(selectedProjectId);
|
await dailyTaskController.fetchTaskData(selectedProjectId);
|
||||||
dailyTaskController.update(['daily_progress_report_controller']);
|
dailyTaskController.update(['daily_progress_report_controller']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Future<void> _refreshData() async {
|
Future<void> _refreshData() async {
|
||||||
final projectId = dailyTaskController.selectedProjectId;
|
final projectId = dailyTaskController.selectedProjectId;
|
||||||
@ -463,10 +463,12 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
if (task.reportedDate == null ||
|
if ((task.reportedDate == null ||
|
||||||
task.reportedDate
|
task.reportedDate
|
||||||
.toString()
|
.toString()
|
||||||
.isEmpty) ...[
|
.isEmpty) &&
|
||||||
|
permissionController.hasPermission(
|
||||||
|
Permissions.assignReportTask)) ...[
|
||||||
TaskActionButtons.reportButton(
|
TaskActionButtons.reportButton(
|
||||||
context: context,
|
context: context,
|
||||||
task: task,
|
task: task,
|
||||||
@ -474,7 +476,10 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
|||||||
refreshCallback: _refreshData,
|
refreshCallback: _refreshData,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 4),
|
const SizedBox(width: 4),
|
||||||
] else if (task.approvedBy == null) ...[
|
] else if (task.approvedBy == null &&
|
||||||
|
permissionController.hasPermission(
|
||||||
|
Permissions
|
||||||
|
.approveTask)) ...[
|
||||||
TaskActionButtons.reportActionButton(
|
TaskActionButtons.reportActionButton(
|
||||||
context: context,
|
context: context,
|
||||||
task: task,
|
task: task,
|
||||||
@ -496,7 +501,7 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
)
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user