42 lines
1.0 KiB
Dart
42 lines
1.0 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:pshared/provider/organizations.dart';
|
|
import 'package:pshared/service/payment/documents.dart';
|
|
|
|
import 'package:pweb/utils/download.dart';
|
|
import 'package:pweb/utils/error/snackbar.dart';
|
|
|
|
import 'package:pweb/generated/i18n/app_localizations.dart';
|
|
|
|
|
|
Future<void> downloadPaymentAct(
|
|
BuildContext context,
|
|
String paymentRef, {
|
|
String? operationRef,
|
|
}) async {
|
|
final organizations = context.read<OrganizationsProvider>();
|
|
if (!organizations.isOrganizationSet) {
|
|
return;
|
|
}
|
|
final trimmed = paymentRef.trim();
|
|
if (trimmed.isEmpty) {
|
|
return;
|
|
}
|
|
|
|
final loc = AppLocalizations.of(context)!;
|
|
await executeActionWithNotification(
|
|
context: context,
|
|
action: () async {
|
|
final file = await PaymentDocumentsService.getAct(
|
|
organizations.current.id,
|
|
trimmed,
|
|
operationRef: operationRef,
|
|
);
|
|
await downloadFile(file);
|
|
},
|
|
errorMessage: loc.downloadActError,
|
|
);
|
|
}
|