From 43820f01d3c0b7b4e0f62cfbfde100dc6ae29bc4 Mon Sep 17 00:00:00 2001 From: WaseemAbbasi22 Date: Thu, 17 Apr 2025 11:23:08 +0300 Subject: [PATCH] asset transfer attachment issue fixed --- lib/models/device/asset_transfer.dart | 8 +++++ .../device_transfer_details.dart | 31 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/lib/models/device/asset_transfer.dart b/lib/models/device/asset_transfer.dart index de7eab0b..9bfb08ac 100644 --- a/lib/models/device/asset_transfer.dart +++ b/lib/models/device/asset_transfer.dart @@ -178,6 +178,14 @@ class AssetTransfer { receiverAttachments!.add(AssetTransferAttachment.fromJson(v)); }); } + if(senderAttachments!=null){ + attachments = senderAttachments; + } + else if(receiverAttachments!=null){ + attachments = receiverAttachments; + } + print('sender attachment i got is ${senderAttachments?.length}'); + assetNumber = json['assetNumber']; assetName = json['assetName']; manufacturerName = json['manufacturerName']; diff --git a/lib/views/pages/device_transfer/device_transfer_details.dart b/lib/views/pages/device_transfer/device_transfer_details.dart index 87f41133..68b5056a 100644 --- a/lib/views/pages/device_transfer/device_transfer_details.dart +++ b/lib/views/pages/device_transfer/device_transfer_details.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/asset_transfer_provider.dart'; @@ -8,6 +10,7 @@ import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/device/asset_transfer.dart'; import 'package:test_sa/views/pages/device_transfer/update_device_transfer.dart'; +import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; @@ -31,6 +34,7 @@ class _DeviceTransferDetailsState extends State { AssetTransfer? _model; final bool _isLoading = false; final GlobalKey _formKey = GlobalKey(); + List _attachments = []; final GlobalKey _scaffoldKey = GlobalKey(); @override @@ -41,6 +45,7 @@ class _DeviceTransferDetailsState extends State { @override Widget build(BuildContext context) { _userProvider ??= Provider.of(context); + return Scaffold( appBar: DefaultAppBar(title: context.translation.deviceTransferDetails), key: _scaffoldKey, @@ -52,6 +57,7 @@ class _DeviceTransferDetailsState extends State { return const ALoading(); } else { _model = snapshot.data as AssetTransfer?; + _attachments = _model?.attachments?.map((e) => File(e.attachmentName ?? '')).toList() ?? []; return Form( key: _formKey, @@ -89,6 +95,8 @@ class _DeviceTransferDetailsState extends State { const Divider().defaultStyle(context), 8.height, _buildTextWidget(_model!.comment!), + + ] ], ), @@ -177,6 +185,27 @@ class _DeviceTransferDetailsState extends State { return widget.toShadowContainer(context).paddingOnly(top: 14, start: 14, end: 14); } + Widget attachmentWidget(){ + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + 8.height, + if (_attachments.isNotEmpty) ...[ + const Divider().defaultStyle(context), + context.translation.attachments.bodyText(context), + 8.height, + MultiFilesPicker( + label: context.translation.attachments, + files: _attachments, + enabled: false, + onlyImages: false, + ), + 12.height, + ], + ], + ); + } + _buildTextWidget(String text) { return text.bodyText(context); } @@ -224,6 +253,8 @@ class _DeviceTransferDetailsState extends State { const Divider().defaultStyle(context), 8.height, _buildTextWidget(comment), + attachmentWidget(), + ] ], ).toShadowContainer(context);