From 5890835f7b65423ae68eb64fa299cb7e33f84694 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Wed, 12 Jul 2023 15:25:07 +0300 Subject: [PATCH] Simple Changes --- lib/models/device/device_transfer.dart | 17 +++--- .../device_transfer_details.dart | 52 ++++++++++--------- .../pages/user/visits/visit_details.dart | 28 +++++----- .../device_transfer_info_section.dart | 6 ++- 4 files changed, 57 insertions(+), 46 deletions(-) diff --git a/lib/models/device/device_transfer.dart b/lib/models/device/device_transfer.dart index c585a8c0..9c0d3e28 100644 --- a/lib/models/device/device_transfer.dart +++ b/lib/models/device/device_transfer.dart @@ -48,14 +48,15 @@ class DeviceTransfer { title: parsedJson["transferCode"], userId: parsedJson["uid"], device: Device( - id: parsedJson["assetId"], - number: parsedJson["assetNumber"], - serialNumber: parsedJson["assetSerialNo"], - destBuildingName: parsedJson["destBuildingName"], - destDepartmentName: parsedJson["destDepartmentName"], - destFloor: parsedJson["destFloor"], - destRoom: parsedJson["destRoom"], - destSiteName: parsedJson["destSiteName"]), + id: parsedJson["assetId"], + number: parsedJson["assetNumber"], + serialNumber: parsedJson["assetSerialNo"], + destBuildingName: parsedJson["destBuildingName"], + destDepartmentName: parsedJson["destDepartmentName"], + destFloor: parsedJson["destFloorName"], + destRoom: parsedJson["destRoom"], + destSiteName: parsedJson["destSiteName"], + ), sender: DeviceTransferInfo( travelingHours: parsedJson["senderTravelingHours"], comment: parsedJson["senderComment"], diff --git a/lib/views/pages/device_transfer/device_transfer_details.dart b/lib/views/pages/device_transfer/device_transfer_details.dart index 75892db3..e9d0a93d 100644 --- a/lib/views/pages/device_transfer/device_transfer_details.dart +++ b/lib/views/pages/device_transfer/device_transfer_details.dart @@ -16,6 +16,8 @@ import 'package:test_sa/views/widgets/device_trancfer/device_transfer_info_secti import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; import 'package:test_sa/views/widgets/requests/info_row.dart'; +import '../../../models/enums/user_types.dart'; + class DeviceTransferDetails extends StatefulWidget { final DeviceTransfer model; @@ -132,18 +134,19 @@ class _DeviceTransferDetailsState extends State { Expanded( child: Text("Sender", style: Theme.of(context).textTheme.headline6), ), - ASmallButton( - text: _subtitle.edit, - onPressed: (_isSender || false) - ? () { - Navigator.of(context).push(MaterialPageRoute( - builder: (_) => UpdateDeviceTransfer( - model: widget.model, - isSender: true, - ))); - } - : null, - ), + if (_userProvider.user?.type == UsersTypes.engineer) + ASmallButton( + text: _subtitle.edit, + onPressed: (_isSender || false) + ? () { + Navigator.of(context).push(MaterialPageRoute( + builder: (_) => UpdateDeviceTransfer( + model: widget.model, + isSender: true, + ))); + } + : null, + ), ], ), const SizedBox(height: 12), @@ -156,18 +159,19 @@ class _DeviceTransferDetailsState extends State { Expanded( child: Text("Receiver", style: Theme.of(context).textTheme.headline6), ), - ASmallButton( - text: _subtitle.edit, - onPressed: (_isReceiver || false) - ? () { - Navigator.of(context).push(MaterialPageRoute( - builder: (_) => UpdateDeviceTransfer( - model: widget.model, - isSender: false, - ))); - } - : null, - ), + if (_userProvider.user?.type == UsersTypes.engineer) + ASmallButton( + text: _subtitle.edit, + onPressed: (_isReceiver || false) + ? () { + Navigator.of(context).push(MaterialPageRoute( + builder: (_) => UpdateDeviceTransfer( + model: widget.model, + isSender: false, + ))); + } + : null, + ), ], ), const SizedBox(height: 12), diff --git a/lib/views/pages/user/visits/visit_details.dart b/lib/views/pages/user/visits/visit_details.dart index 73cb60d4..d6635358 100644 --- a/lib/views/pages/user/visits/visit_details.dart +++ b/lib/views/pages/user/visits/visit_details.dart @@ -73,19 +73,21 @@ class VisitDetailsPage extends StatelessWidget { ), MaterialButton( padding: EdgeInsets.zero, - onPressed: () { - Navigator.of(context).push(MaterialPageRoute( - builder: (_) => Scaffold( - body: InteractiveViewer( - child: Center( - child: ImageLoader( - url: visit.images.first, - boxFit: BoxFit.contain, - ), - ), - ), - ))); - }, + onPressed: visit.images.isEmpty || (visit.images?.first?.isEmpty ?? false) + ? () {} + : () { + Navigator.of(context).push(MaterialPageRoute( + builder: (_) => Scaffold( + body: InteractiveViewer( + child: Center( + child: ImageLoader( + url: visit.images.first, + boxFit: BoxFit.contain, + ), + ), + ), + ))); + }, child: SizedBox( height: 140 * AppStyle.getScaleFactor(context), width: MediaQuery.of(context).size.width, diff --git a/lib/views/widgets/device_trancfer/device_transfer_info_section.dart b/lib/views/widgets/device_trancfer/device_transfer_info_section.dart index 1a8da07b..9763feee 100644 --- a/lib/views/widgets/device_trancfer/device_transfer_info_section.dart +++ b/lib/views/widgets/device_trancfer/device_transfer_info_section.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; import 'package:test_sa/controllers/localization/localization.dart'; import 'package:test_sa/models/device/device_transfer_info.dart'; import 'package:test_sa/views/app_style/colors.dart'; @@ -6,6 +7,8 @@ import 'package:test_sa/views/widgets/loaders/image_loader.dart'; import 'package:test_sa/views/widgets/requests/info_row.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; +import '../../../controllers/providers/api/user_provider.dart'; + class DeviceTransferInfoSection extends StatelessWidget { final DeviceTransferInfo info; final VoidCallback onEdit; @@ -13,6 +16,7 @@ class DeviceTransferInfoSection extends StatelessWidget { @override Widget build(BuildContext context) { + UserProvider userProvider = Provider.of(context); final subtitle = AppLocalization.of(context).subtitle; return Column( children: [ @@ -26,7 +30,7 @@ class DeviceTransferInfoSection extends StatelessWidget { ), RequestInfoRow( title: subtitle.engineerName, - info: info.userName, + info: userProvider.user.username, ), RequestInfoRow( title: subtitle.workingHours,