diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java index 32dd048050ad5d72bef9344843717fba94fe3e63..4f4a2612ef5f7698870155fffb4db5a247ad7b3c 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 b66ae34de3b6dd16d8db15ede5c489da9657efbe..7afbe45efb44f043530f601adf250cae84031b9e 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 81eacbfdaaf95c4b92bdd5164978685a4d82dcb3..c35d400bb5247559644e599de506ef55ecabce91 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}"?