From bd7c6dddbf9b5d0c1b8aa025debed35826ca56c0 Mon Sep 17 00:00:00 2001 From: sebseb7 Date: Thu, 21 Aug 2025 04:46:30 +0200 Subject: [PATCH] Enhance CSV import functionality with improved error messaging and logging - Updated error message in CSVImportPanel to include a period for better readability. - Added console logs in the CSV import API route to track the import process and precheck status. - Removed redundant validation for 'Beguenstigter/Zahlungspflichtiger' to streamline error handling during CSV import. --- client/src/components/CSVImportDialog.js | 2 +- src/routes/data/csvImport.js | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/client/src/components/CSVImportDialog.js b/client/src/components/CSVImportDialog.js index ce417b1..6961483 100644 --- a/client/src/components/CSVImportDialog.js +++ b/client/src/components/CSVImportDialog.js @@ -457,7 +457,7 @@ class CSVImportPanel extends Component { )} {importResult.errors > 0 && ( - Fehler: {importResult.errors} Zeilen konnten nicht verarbeitet werden + Fehler: {importResult.errors} Zeilen konnten nicht verarbeitet werden. )} {importResult.message && ( diff --git a/src/routes/data/csvImport.js b/src/routes/data/csvImport.js index 00965f4..35764dd 100644 --- a/src/routes/data/csvImport.js +++ b/src/routes/data/csvImport.js @@ -129,6 +129,7 @@ router.post('/test-csv-import', async (req, res) => { // Import CSV transactions to database router.post('/import-csv-transactions', authenticateToken, async (req, res) => { + console.log('Importing CSV transactions'); try { const { executeQuery } = require('../../config/database'); const { transactions, filename, batchId, headers } = req.body; @@ -180,6 +181,7 @@ router.post('/import-csv-transactions', authenticateToken, async (req, res) => { let successCount = 0; let errorCount = 0; const errors = []; + console.log('precheck done'); for (let i = 0; i < transactions.length; i++) { const transaction = transactions[i]; @@ -195,9 +197,6 @@ router.post('/import-csv-transactions', authenticateToken, async (req, res) => { validationErrors.push('Betrag is required'); } - if (!transaction['Beguenstigter/Zahlungspflichtiger'] || transaction['Beguenstigter/Zahlungspflichtiger'].trim() === '') { - validationErrors.push('Beguenstigter/Zahlungspflichtiger is required'); - } if (validationErrors.length > 2) { console.log('Skipping invalid row ' + (i + 1) + ':', validationErrors); @@ -287,6 +286,8 @@ router.post('/import-csv-transactions', authenticateToken, async (req, res) => { errorCount++; } } + + console.log('import done',errors); res.json({ success: true,