diff --git a/android/app/src/main/res/xml/filepaths.xml b/android/app/src/main/res/xml/filepaths.xml
index b05757c..6c5db6a 100644
--- a/android/app/src/main/res/xml/filepaths.xml
+++ b/android/app/src/main/res/xml/filepaths.xml
@@ -2,4 +2,7 @@
+
+
+
\ No newline at end of file
diff --git a/lib/ui/screens/mowadhafhi/request_details.dart b/lib/ui/screens/mowadhafhi/request_details.dart
index b2371ab..352e195 100644
--- a/lib/ui/screens/mowadhafhi/request_details.dart
+++ b/lib/ui/screens/mowadhafhi/request_details.dart
@@ -17,8 +17,10 @@ import 'package:mohem_flutter_app/models/mowadhafhi/get_ticket_transactions.dart
import 'package:mohem_flutter_app/models/mowadhafhi/get_transaction_attachment_model.dart';
import 'package:mohem_flutter_app/ui/screens/mowadhafhi/view_transaction_attachment.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
+import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart';
import 'package:open_file/open_file.dart';
import 'package:path_provider/path_provider.dart';
+import 'package:permission_handler/permission_handler.dart';
class MowadhafhiRequestDetails extends StatefulWidget {
const MowadhafhiRequestDetails({Key? key}) : super(key: key);
@@ -263,20 +265,36 @@ class _RequestDetailsState extends State {
}
void handleTransactionAttachment() async {
- String ext = '';
- String? rFile = getTransactionAttachmentModel!.base64String;
- String? rFileExt = getTransactionAttachmentModel!.fileName;
+ Permission.storage.isGranted.then((isGranted) {
+ if (!isGranted) {
+ Permission.manageExternalStorage.request().then((granted) async {
+ if (granted == PermissionStatus.granted) {
+ String ext = '';
+ String? rFile = getTransactionAttachmentModel!.base64String;
+ String? rFileExt = getTransactionAttachmentModel!.fileName;
- ext = rFileExt!.split(".").last.toLowerCase();
-
- try {
- String path = await _createFileFromString(rFile!.split("base64,").last ?? "", ext ?? "");
- debugPrint(path);
-
- print(" file here: ${File(path).existsSync()}");
- await OpenFile.open(path);
- } catch (ex) {
- Utils.showToast("Cannot open file.");
- }
+ ext = rFileExt!.split(".").last.toLowerCase();
+ try {
+ String path = await _createFileFromString(rFile!.split("base64,").last ?? "", ext ?? "");
+ await OpenFile.open(path).catchError((err) {
+ print(err);
+ });
+ } catch (ex) {
+ Utils.showToast("Cannot open file.");
+ }
+ } else {
+ showDialog(
+ context: context,
+ builder: (BuildContext cxt) => ConfirmDialog(
+ message: "You need to give storage permission to view files.",
+ onTap: () {
+ Navigator.pop(context);
+ },
+ ),
+ );
+ }
+ });
+ }
+ });
}
}
diff --git a/lib/ui/screens/my_documents/my_documents_fragment.dart b/lib/ui/screens/my_documents/my_documents_fragment.dart
index 6bc46f7..5a9c88d 100644
--- a/lib/ui/screens/my_documents/my_documents_fragment.dart
+++ b/lib/ui/screens/my_documents/my_documents_fragment.dart
@@ -79,7 +79,7 @@ class _MyDocumentsFragmentState extends State {
Navigator.pushNamed(
context,
AppRoutes.addDynamicInput,
- arguments: DynamicListViewParams(documentfilteredList[index].dOCUMENTTYPE!, documentfilteredList[index].fUNCTIONNAME!,
+ arguments: DynamicListViewParams(documentfilteredList[index].dOCUMENTTYPENAME!, documentfilteredList[index].fUNCTIONNAME!,
selectedEmp: AppState().getUserName, isAttachmentMandatory: true),
);
});