From a7ce3dc403f17f4e6ba25f2360a5397fec0d43ca Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 8 Jan 2023 17:03:50 +0100 Subject: [PATCH] #724 - add button to skip row --- .../TransactionImportController.java | 20 ++++++++++++++----- .../resources/languages/base_de.properties | 1 + .../resources/languages/base_en.properties | 1 + .../transactions/transactionImport.ftl | 4 ++++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java index c5dc437c4..38839cdbd 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java @@ -9,17 +9,13 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.WebRequest; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import java.util.Random; @Controller @RequestMapping(Mappings.TRANSACTION_IMPORT) @@ -159,6 +155,20 @@ public class TransactionImportController extends BaseController return ReturnValues.REDIRECT_IMPORT; } + @GetMapping("/{index}/skip") + public String skip(WebRequest request, @PathVariable("index") Integer index) + { + final Object attribute = request.getAttribute(RequestAttributeNames.CSV_TRANSACTIONS, RequestAttributes.SCOPE_SESSION); + if(attribute == null) + { + return ReturnValues.REDIRECT_CANCEL; + } + + final List<CsvTransaction> csvTransactions = (List<CsvTransaction>) attribute; + csvTransactions.get(index).setStatus(CsvTransactionStatus.SKIPPED); + return ReturnValues.REDIRECT_IMPORT; + } + private void removeAllAttributes(WebRequest request) { request.removeAttribute(RequestAttributeNames.CSV_IMPORT, RequestAttributes.SCOPE_SESSION); diff --git a/BudgetMasterServer/src/main/resources/languages/base_de.properties b/BudgetMasterServer/src/main/resources/languages/base_de.properties index 899eafbe5..1d8969f49 100644 --- a/BudgetMasterServer/src/main/resources/languages/base_de.properties +++ b/BudgetMasterServer/src/main/resources/languages/base_de.properties @@ -379,6 +379,7 @@ transactions.import.status=Status transactions.import.status.pending=ausstehend transactions.import.status.imported=importiert transactions.import.status.skipped=übersprungen +transactions.import.actions=Aktionen repeating.button.add=Wiederholung hinzufügen repeating.button.remove=Wiederholung entfernen diff --git a/BudgetMasterServer/src/main/resources/languages/base_en.properties b/BudgetMasterServer/src/main/resources/languages/base_en.properties index dcc9acccb..5df53283d 100644 --- a/BudgetMasterServer/src/main/resources/languages/base_en.properties +++ b/BudgetMasterServer/src/main/resources/languages/base_en.properties @@ -378,6 +378,7 @@ transactions.import.status=Status transactions.import.status.pending=pending transactions.import.status.imported=imported transactions.import.status.skipped=skipped +transactions.import.actions=Actions repeating.button.add=Add repetition repeating.button.remove=Remove repetition diff --git a/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl b/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl index bae4fa80b..e8a9f56dc 100644 --- a/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl +++ b/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl @@ -192,6 +192,7 @@ <td class="bold">${locale.getString("transaction.new.label.date")}</td> <td class="bold">${locale.getString("transaction.new.label.name")}</td> <td class="bold">${locale.getString("transaction.new.label.amount")}</td> + <td class="bold">${locale.getString("transactions.import.actions")}</td> </tr> <#list csvTransactions as csvTransaction> @@ -200,6 +201,9 @@ <td>${csvTransaction.getDate()}</td> <td>${csvTransaction.getName()}</td> <td>${csvTransaction.getAmount()}</td> + <td> + <@header.buttonFlat url='/transactionImport/' + csvTransaction?index + '/skip' icon='block' localizationKey='' classes="no-padding text-default button-request-transaction-import-skip"/> + </td> </tr> </#list> </table> -- GitLab