diff --git a/lib/ui/client/client_pdf.dart b/lib/ui/client/client_pdf.dart index ab7dc5608..9b34bd18a 100644 --- a/lib/ui/client/client_pdf.dart +++ b/lib/ui/client/client_pdf.dart @@ -368,8 +368,16 @@ class _ClientPdfViewState extends State { final directory = await (isDesktopOS() ? getDownloadsDirectory() : getApplicationDocumentsDirectory()); - final filePath = + String filePath = '${directory.path}${file.Platform.pathSeparator}$fileName'; + + if (file.File(filePath).existsSync()) { + final timestamp = + DateTime.now().millisecondsSinceEpoch; + filePath = filePath.replaceFirst( + '.pdf', '_$timestamp.pdf'); + } + final pdfData = file.File(filePath); await pdfData.writeAsBytes(_response.bodyBytes); diff --git a/lib/ui/invoice/invoice_pdf.dart b/lib/ui/invoice/invoice_pdf.dart index 9c56c315a..ada952faf 100644 --- a/lib/ui/invoice/invoice_pdf.dart +++ b/lib/ui/invoice/invoice_pdf.dart @@ -282,8 +282,16 @@ class _InvoicePdfViewState extends State { final directory = await (isDesktopOS() ? getDownloadsDirectory() : getApplicationDocumentsDirectory()); - final filePath = + String filePath = '${directory.path}${file.Platform.pathSeparator}$fileName'; + + if (file.File(filePath).existsSync()) { + final timestamp = + DateTime.now().millisecondsSinceEpoch; + filePath = filePath.replaceFirst( + '.pdf', '_$timestamp.pdf'); + } + final pdfData = file.File(filePath); await pdfData .writeAsBytes(_response.bodyBytes);