feat: Add optional approvedBy field to TaskModel and update JSON parsing

This commit is contained in:
Vaibhav Surve 2025-06-19 11:14:21 +05:30
parent c215c4c943
commit 44d72b73ac
2 changed files with 11 additions and 10 deletions

View File

@ -7,6 +7,7 @@ class TaskModel {
final int plannedTask;
final int completedTask;
final AssignedBy assignedBy;
final AssignedBy? approvedBy;
final List<TeamMember> teamMembers;
final List<Comment> comments;
final List<String> reportedPreSignedUrls;
@ -20,6 +21,7 @@ class TaskModel {
required this.plannedTask,
required this.completedTask,
required this.assignedBy,
this.approvedBy,
required this.teamMembers,
required this.comments,
required this.reportedPreSignedUrls,
@ -32,13 +34,15 @@ class TaskModel {
? DateTime.tryParse(json['reportedDate'])
: null,
id: json['id'],
workItem: json['workItem'] != null
? WorkItem.fromJson(json['workItem'])
: null,
workItem:
json['workItem'] != null ? WorkItem.fromJson(json['workItem']) : null,
workItemId: json['workItemId'],
plannedTask: json['plannedTask'],
completedTask: json['completedTask'],
assignedBy: AssignedBy.fromJson(json['assignedBy']),
approvedBy: json['approvedBy'] != null
? AssignedBy.fromJson(json['approvedBy'])
: null,
teamMembers: (json['teamMembers'] as List)
.map((e) => TeamMember.fromJson(e))
.toList(),
@ -119,8 +123,7 @@ class WorkArea {
return WorkArea(
id: json['id']?.toString(),
areaName: json['areaName'] ?? '',
floor:
json['floor'] != null ? Floor.fromJson(json['floor']) : null,
floor: json['floor'] != null ? Floor.fromJson(json['floor']) : null,
);
}
}

View File

@ -368,9 +368,8 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
final activityName =
task.workItem?.activityMaster?.activityName ?? 'N/A';
final activityId = task.workItem?.activityMaster?.id ;
final workAreaId =
task.workItem?.workArea?.id;
final activityId = task.workItem?.activityMaster?.id;
final workAreaId = task.workItem?.workArea?.id;
final location = [
task.workItem?.workArea?.floor?.building?.name,
task.workItem?.workArea?.floor?.floorName,
@ -471,7 +470,7 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
refreshCallback: _refreshData,
),
const SizedBox(width: 8),
] else ...[
] else if (task.approvedBy == null) ...[
TaskActionButtons.reportActionButton(
context: context,
task: task,
@ -481,7 +480,6 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
completed: completed,
refreshCallback: _refreshData,
),
const SizedBox(width: 8),
],
TaskActionButtons.commentButton(