From d019b02f388527f3030e45aa6780b656d09b3acc Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Mon, 1 Mar 2021 20:27:50 +0100 Subject: [PATCH] #583 - show feedback after deleting and creating (from transaction) a template --- .../templates/TemplateController.java | 17 +++++++++++++++-- src/main/resources/languages/base_de.properties | 3 +++ src/main/resources/languages/base_en.properties | 3 +++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java index 57e710b7a..532b98780 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java @@ -10,6 +10,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.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -17,6 +21,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 org.springframework.web.server.ResponseStatusException; import java.util.Optional; @@ -62,7 +67,8 @@ public class TemplateController extends BaseController } @PostMapping(value = "/fromTransaction") - public String postFromTransaction(@RequestParam(value = "templateName") String templateName, + public String postFromTransaction(WebRequest request, + @RequestParam(value = "templateName") String templateName, @ModelAttribute("NewTransaction") Transaction transaction, @RequestParam(value = "includeCategory") Boolean includeCategory, @RequestParam(value = "includeAccount") Boolean includeAccount) @@ -79,6 +85,9 @@ public class TemplateController extends BaseController } templateService.createFromTransaction(templateName, transaction, includeCategory, includeAccount); + + WebRequestUtils.putNotification(request, new Notification(Localization.getString("notification.template.add.success", templateName), NotificationType.SUCCESS)); + return "redirect:/templates"; } @@ -98,9 +107,13 @@ public class TemplateController extends BaseController } @GetMapping("/{ID}/delete") - public String deleteTemplate(@PathVariable("ID") Integer ID) + public String deleteTemplate(WebRequest request, @PathVariable("ID") Integer ID) { + final Template templateToDelete = templateService.getRepository().getOne(ID); templateService.getRepository().deleteById(ID); + + WebRequestUtils.putNotification(request, new Notification(Localization.getString("notification.template.delete.success", templateToDelete.getTemplateName()), NotificationType.SUCCESS)); + return "redirect:/templates"; } diff --git a/src/main/resources/languages/base_de.properties b/src/main/resources/languages/base_de.properties index 56a1ccb7c..b66ae34de 100644 --- a/src/main/resources/languages/base_de.properties +++ b/src/main/resources/languages/base_de.properties @@ -110,8 +110,11 @@ info.text.transaction.delete=Möchtest du die Buchung "{0}" wirklich unwiderrufl 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? + info.title.template.delete=Vorlage löschen info.text.template.delete=Möchtest du die Vorlage "{0}" wirklich unwiderruflich löschen? +notification.template.delete.success=Die Vorlage "{0}" wurde erfolgreich gelöscht. +notification.template.add.success=Die Vorlage "{0}" wurde erfolgreich angelegt. info.title.database.delete=Datenbank löschen info.header.text.database.delete=Soll die Datenbank wirklich unwiderruflich gelöscht werden?<br>Hinweis: Beim Löschen der Datenbank werden alle Buchungen, Kategorien, Konten, Diagramme und Vorlagen unwiderruflich gelöscht. diff --git a/src/main/resources/languages/base_en.properties b/src/main/resources/languages/base_en.properties index 589f4ab3a..81eacbfda 100644 --- a/src/main/resources/languages/base_en.properties +++ b/src/main/resources/languages/base_en.properties @@ -110,8 +110,11 @@ info.text.transaction.delete=Do you really want to delete the entry "{0}"? This 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}"? + info.title.template.delete=Delete Template info.text.template.delete=Do you really want to delete the template "{0}"? +notification.template.delete.success=Successfully deleted template "{0}". +notification.template.add.success=Successfully added new template "{0}". info.title.database.delete=Delete Database info.header.text.database.delete=Do you really want to delete the database? This can''t be undone.<br>Note: Deleting the database will delete all transactions, categories, accounts, charts and templates permanently. -- GitLab