From 82e08f143a3e1293a494ec73e4003a9aac834f98 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Mon, 1 Mar 2021 20:32:34 +0100 Subject: [PATCH] #583 - show feedback after deleting a chart --- .../budgetmaster/charts/ChartController.java | 13 ++++++++++++- src/main/resources/languages/base_de.properties | 3 +++ src/main/resources/languages/base_en.properties | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java index 32dd04805..4f4a2612e 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java @@ -13,6 +13,10 @@ import de.deadlocker8.budgetmaster.transactions.Transaction; import de.deadlocker8.budgetmaster.transactions.TransactionService; import de.deadlocker8.budgetmaster.utils.Mappings; import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException; +import de.deadlocker8.budgetmaster.utils.WebRequestUtils; +import de.deadlocker8.budgetmaster.utils.notification.Notification; +import de.deadlocker8.budgetmaster.utils.notification.NotificationType; +import de.thecodelabs.utils.util.Localization; import org.joda.time.DateTime; import org.joda.time.format.ISODateTimeFormat; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +24,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.WebRequest; import java.util.List; import java.util.Optional; @@ -182,11 +187,17 @@ public class ChartController extends BaseController } @GetMapping(value = "/{ID}/delete") - public String deleteChart(Model model, @PathVariable("ID") Integer ID) + public String deleteChart(WebRequest request, @PathVariable("ID") Integer ID) { if(chartService.isDeletable(ID)) { + final Chart chartToDelete = chartService.getRepository().getOne(ID); chartService.getRepository().deleteById(ID); + WebRequestUtils.putNotification(request, new Notification(Localization.getString("notification.chart.delete.success", chartToDelete.getName()), NotificationType.SUCCESS)); + } + else + { + WebRequestUtils.putNotification(request, new Notification(Localization.getString("notification.chart.delete.not.deletable", String.valueOf(ID)), NotificationType.ERROR)); } return "redirect:/charts/manage"; diff --git a/src/main/resources/languages/base_de.properties b/src/main/resources/languages/base_de.properties index b66ae34de..7afbe45ef 100644 --- a/src/main/resources/languages/base_de.properties +++ b/src/main/resources/languages/base_de.properties @@ -108,8 +108,11 @@ info.button.account.delete=Konto und Buchungen löschen info.title.transaction.delete=Buchung löschen info.text.transaction.delete=Möchtest du die Buchung "{0}" wirklich unwiderruflich löschen? info.text.transaction.repeating.delete=Möchtest du die Buchung "{0}" wirklich unwiderruflich löschen? <br>Hinweis: Es handelt sich um eine wiederholende Buchung. Beim Löschen dieser Buchung werden alle zugehörigen Wiederholungen ebenfalls gelöscht! + info.title.chart.delete=Diagramm löschen info.text.chart.delete=Möchtest du das Diagramm "{0}" wirklich unwiderruflich löschen? +notification.chart.delete.success=Das Diagramm "{0}" wurde erfolgreich gelöscht. +notification.chart.delete.not.deletable=Das Diagramm mit der ID "{0}" ist nicht löschbar! info.title.template.delete=Vorlage löschen info.text.template.delete=Möchtest du die Vorlage "{0}" wirklich unwiderruflich löschen? diff --git a/src/main/resources/languages/base_en.properties b/src/main/resources/languages/base_en.properties index 81eacbfda..c35d400bb 100644 --- a/src/main/resources/languages/base_en.properties +++ b/src/main/resources/languages/base_en.properties @@ -108,8 +108,11 @@ info.button.account.delete=Delete Account and Transactions info.title.transaction.delete=Delete Entry info.text.transaction.delete=Do you really want to delete the entry "{0}"? This can''t be undone. info.text.transaction.repeating.delete=Do you really want to delete the entry "{0}"? This can''t be undone.<br>Note: This transaction is a repeating transaction. Deleting this transaction will delete all related occurrences too! + info.title.chart.delete=Delete Chart info.text.chart.delete=Do you really want to delete the chart "{0}"? +notification.chart.delete.success=Successfully deleted chart "{0}". +notification.chart.delete.not.deletable=The chart with id "{0}" is undeletable. info.title.template.delete=Delete Template info.text.template.delete=Do you really want to delete the template "{0}"? -- GitLab