Merge pull request 'fix: Improve validation for completed work and display pending work in report task bottom sheet' (#37) from Vaibhav_Bug-#435 into main
Reviewed-on: #37
This commit is contained in:
commit
a7f8ea16b0
@ -124,10 +124,8 @@ class _ReportTaskBottomSheetState extends State<ReportTaskBottomSheet>
|
|||||||
.trim()),
|
.trim()),
|
||||||
buildRow(
|
buildRow(
|
||||||
"Assigned",
|
"Assigned",
|
||||||
controller.basicValidator
|
"${controller.basicValidator.getController('assigned')?.text.trim()} "
|
||||||
.getController('assigned')
|
"of ${widget.taskData['pendingWork'] ?? '-'} Pending"),
|
||||||
?.text
|
|
||||||
.trim()),
|
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Icon(Icons.work_outline,
|
Icon(Icons.work_outline,
|
||||||
@ -141,8 +139,23 @@ class _ReportTaskBottomSheetState extends State<ReportTaskBottomSheet>
|
|||||||
),
|
),
|
||||||
MySpacing.height(8),
|
MySpacing.height(8),
|
||||||
TextFormField(
|
TextFormField(
|
||||||
validator: controller.basicValidator
|
validator: (value) {
|
||||||
.getValidation('completed_work'),
|
if (value == null || value.trim().isEmpty) {
|
||||||
|
return 'Please enter completed work';
|
||||||
|
}
|
||||||
|
final completed = int.tryParse(value.trim());
|
||||||
|
final pending = widget.taskData['pendingWork'] ?? 0;
|
||||||
|
|
||||||
|
if (completed == null) {
|
||||||
|
return 'Enter a valid number';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (completed > pending) {
|
||||||
|
return 'Completed work cannot exceed pending work $pending';
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
},
|
||||||
controller: controller.basicValidator
|
controller: controller.basicValidator
|
||||||
.getController('completed_work'),
|
.getController('completed_work'),
|
||||||
keyboardType: TextInputType.number,
|
keyboardType: TextInputType.number,
|
||||||
|
@ -440,6 +440,11 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
|||||||
final teamMembers = task.teamMembers
|
final teamMembers = task.teamMembers
|
||||||
.map((e) => e.firstName)
|
.map((e) => e.firstName)
|
||||||
.toList();
|
.toList();
|
||||||
|
final pendingWork = (task.workItem
|
||||||
|
?.plannedWork ??
|
||||||
|
0) -
|
||||||
|
(task.workItem?.completedWork ??
|
||||||
|
0);
|
||||||
|
|
||||||
final taskData = {
|
final taskData = {
|
||||||
'activity': activityName,
|
'activity': activityName,
|
||||||
@ -452,6 +457,7 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
|||||||
'teamSize':
|
'teamSize':
|
||||||
task.teamMembers.length,
|
task.teamMembers.length,
|
||||||
'teamMembers': teamMembers,
|
'teamMembers': teamMembers,
|
||||||
|
'pendingWork': pendingWork,
|
||||||
};
|
};
|
||||||
|
|
||||||
showModalBottomSheet(
|
showModalBottomSheet(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user