diff --git a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart index d4ab0d91..2ed42bee 100644 --- a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart +++ b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart @@ -27,6 +27,7 @@ import '../../../controllers/api_routes/http_status_manger.dart'; import '../../../controllers/providers/api/parts_provider.dart'; import '../../../controllers/providers/api/status_drop_down/report/service_report_fault_description_provider.dart'; import '../../../controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart'; +import '../../../controllers/providers/api/user_provider.dart'; import '../../../models/service_request/spare_parts.dart'; import '../../../models/service_request/supp_engineer_work_orders.dart'; import '../../../models/service_request/supplier_details.dart'; @@ -130,6 +131,11 @@ class _CreateSubWorkOrderPageState extends State { @override Widget build(BuildContext context) { + final user = Provider.of(context).user; + final isCurrentAssigned = user.id != ((widget.workOrder.assistantEmployees?.isNotEmpty ?? false) ? widget.workOrder.assistantEmployees?.first?.user?.id : null); + if (isCurrentAssigned) { + _subWorkOrders.assistantEmployees = [widget.workOrder.assistantEmployees?.first?.copyWith(id: 0)]; + } if (_callRequestForWorkOrder == null) { _partsProvider = Provider.of(context); getAssetType(); @@ -304,7 +310,12 @@ class _CreateSubWorkOrderPageState extends State { ServiceReportAssistantEmployeeMenu( title: context.translation.assignAssistant, assetId: widget.workOrder?.callRequest?.asset?.id, - initialValue: (_subWorkOrders.assistantEmployees?.isNotEmpty ?? false) ? _subWorkOrders.assistantEmployees?.first : null, + initialValue: isCurrentAssigned + ? (widget.workOrder.assistantEmployees.first) + : (_subWorkOrders.assistantEmployees?.isNotEmpty ?? false) + ? _subWorkOrders.assistantEmployees?.first + : null, + enabled: isCurrentAssigned, onSelect: (employee) { _subWorkOrders.assistantEmployees = [employee?.copyWith(id: 0)]; }, diff --git a/lib/views/widgets/status/report/service_report_assistant_employee_menu.dart b/lib/views/widgets/status/report/service_report_assistant_employee_menu.dart index 258402d0..be17cf82 100644 --- a/lib/views/widgets/status/report/service_report_assistant_employee_menu.dart +++ b/lib/views/widgets/status/report/service_report_assistant_employee_menu.dart @@ -12,8 +12,9 @@ class ServiceReportAssistantEmployeeMenu extends StatelessWidget { final AssistantEmployees initialValue; final String title; final num assetId; + final bool enabled; - const ServiceReportAssistantEmployeeMenu({Key key, @required this.onSelect, @required this.assetId, this.title, this.initialValue}) : super(key: key); + const ServiceReportAssistantEmployeeMenu({Key key, this.enabled = true, @required this.onSelect, @required this.assetId, this.title, this.initialValue}) : super(key: key); @override Widget build(BuildContext context) { @@ -28,6 +29,7 @@ class ServiceReportAssistantEmployeeMenu extends StatelessWidget { child: SingleItemDropDownMenu( title: title, context: context, + enabled: enabled, initialValue: initialValue, staticData: menuProvider.assistantEmployees, onSelect: onSelect,