From 4153b8c2ff0969331a4c7905b87c2ffed35928fc Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sat, 30 Mar 2019 14:24:16 +0100 Subject: [PATCH] #411 - added backup reminder modal to all pages --- .../budgetmaster/accounts/AccountController.java | 12 +++++++++++- .../budgetmaster/categories/CategoryController.java | 9 +++++++++ .../budgetmaster/controller/AboutController.java | 9 ++++++++- .../budgetmaster/controller/EmptyPageController.java | 6 ++++++ .../budgetmaster/reports/ReportController.java | 1 + .../budgetmaster/settings/SettingsController.java | 11 ++++++++--- .../transactions/TransactionController.java | 6 +++++- src/main/resources/templates/about.ftl | 2 +- src/main/resources/templates/accounts/accounts.ftl | 2 +- src/main/resources/templates/accounts/newAccount.ftl | 2 +- .../resources/templates/categories/categories.ftl | 2 +- .../resources/templates/categories/newCategory.ftl | 2 +- src/main/resources/templates/helpers/navbar.ftl | 3 ++- src/main/resources/templates/index.ftl | 3 +-- .../resources/templates/placeholder/comingSoon.ftl | 2 +- .../resources/templates/placeholder/emptyPage.ftl | 2 +- src/main/resources/templates/reports/reports.ftl | 2 +- src/main/resources/templates/settings/import.ftl | 2 +- src/main/resources/templates/settings/settings.ftl | 2 +- .../templates/transactions/newTransaction.ftl | 2 +- .../templates/transactions/transactions.ftl | 2 +- 21 files changed, 63 insertions(+), 21 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java index eb5cff582..9a4d96f54 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java @@ -1,6 +1,7 @@ package de.deadlocker8.budgetmaster.accounts; import de.deadlocker8.budgetmaster.controller.BaseController; +import de.deadlocker8.budgetmaster.settings.SettingsService; import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -21,7 +22,11 @@ public class AccountController extends BaseController @Autowired private AccountService accountService; + @Autowired + private SettingsService settingsService; + @RequestMapping(value = "/accounts/{ID}/select") + public String selectAccount(HttpServletRequest request, @PathVariable("ID") Integer ID) { accountService.selectAccount(ID); @@ -33,7 +38,6 @@ public class AccountController extends BaseController } return "redirect:" + referer; } - @RequestMapping(value = "/accounts/{ID}/setAsDefault") public String setAsDefault(HttpServletRequest request, @PathVariable("ID") Integer ID) { @@ -51,6 +55,7 @@ public class AccountController extends BaseController public String accounts(HttpServletRequest request, Model model) { model.addAttribute("accounts", accountService.getAllAccountsAsc()); + model.addAttribute("settings", settingsService.getSettings()); return "accounts/accounts"; } @@ -59,6 +64,7 @@ public class AccountController extends BaseController { model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("currentAccount", accountRepository.getOne(ID)); + model.addAttribute("settings", settingsService.getSettings()); return "accounts/accounts"; } @@ -74,6 +80,7 @@ public class AccountController extends BaseController model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("currentAccount", accountRepository.getOne(ID)); model.addAttribute("accountNotDeletable", true); + model.addAttribute("settings", settingsService.getSettings()); return "accounts/accounts"; } @@ -82,6 +89,7 @@ public class AccountController extends BaseController { Account emptyAccount = new Account(); model.addAttribute("account", emptyAccount); + model.addAttribute("settings", settingsService.getSettings()); return "accounts/newAccount"; } @@ -95,6 +103,7 @@ public class AccountController extends BaseController } model.addAttribute("account", account); + model.addAttribute("settings", settingsService.getSettings()); return "accounts/newAccount"; } @@ -115,6 +124,7 @@ public class AccountController extends BaseController { model.addAttribute("error", bindingResult); model.addAttribute("account", account); + model.addAttribute("settings", settingsService.getSettings()); return "accounts/newAccount"; } else diff --git a/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java index b7fc1bb93..9a729e4f0 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java @@ -2,6 +2,7 @@ package de.deadlocker8.budgetmaster.categories; import de.deadlocker8.budgetmaster.controller.BaseController; import de.deadlocker8.budgetmaster.services.HelpersService; +import de.deadlocker8.budgetmaster.settings.SettingsService; import de.deadlocker8.budgetmaster.utils.Colors; import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException; import de.thecodelabs.utils.util.ColorUtils; @@ -27,10 +28,14 @@ public class CategoryController extends BaseController @Autowired private HelpersService helpers; + @Autowired + SettingsService settingsService; + @RequestMapping("/categories") public String categories(Model model) { model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); + model.addAttribute("settings", settingsService.getSettings()); return "categories/categories"; } @@ -44,6 +49,7 @@ public class CategoryController extends BaseController model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); model.addAttribute("currentCategory", categoryRepository.getOne(ID)); + model.addAttribute("settings", settingsService.getSettings()); return "categories/categories"; } @@ -71,6 +77,7 @@ public class CategoryController extends BaseController model.addAttribute("customColor", "#FFFFFF"); Category emptyCategory = new Category(null, ColorUtils.toRGBHexWithoutOpacity(Colors.CATEGORIES_LIGHT_GREY).toLowerCase(), CategoryType.CUSTOM); model.addAttribute("category", emptyCategory); + model.addAttribute("settings", settingsService.getSettings()); return "categories/newCategory"; } @@ -93,6 +100,7 @@ public class CategoryController extends BaseController } model.addAttribute("category", category); + model.addAttribute("settings", settingsService.getSettings()); return "categories/newCategory"; } @@ -120,6 +128,7 @@ public class CategoryController extends BaseController category.setColor(ColorUtils.toRGBHexWithoutOpacity(Colors.CATEGORIES_LIGHT_GREY).toLowerCase()); } model.addAttribute("category", category); + model.addAttribute("settings", settingsService.getSettings()); return "categories/newCategory"; } else diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java index ba3992650..fa0c39ee2 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java @@ -1,15 +1,22 @@ package de.deadlocker8.budgetmaster.controller; +import de.deadlocker8.budgetmaster.settings.SettingsService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class AboutController extends BaseController { + @Autowired + private SettingsService settingsService; + @RequestMapping("/about") - public String index() + public String index(Model model) { + model.addAttribute("settings", settingsService.getSettings()); return "about"; } } \ No newline at end of file diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java index 3c0360a19..3c3406ebf 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java @@ -1,5 +1,7 @@ package de.deadlocker8.budgetmaster.controller; +import de.deadlocker8.budgetmaster.settings.SettingsService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @@ -8,10 +10,14 @@ import org.springframework.web.bind.annotation.RequestMapping; @Controller public class EmptyPageController extends BaseController { + @Autowired + SettingsService settingsService; + @RequestMapping("/charts") public String charts(Model model) { model.addAttribute("active", "charts"); + model.addAttribute("settings", settingsService.getSettings()); return "placeholder/comingSoon"; } } \ No newline at end of file diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/ReportController.java b/src/main/java/de/deadlocker8/budgetmaster/reports/ReportController.java index 8d6fc8481..7809e8bd9 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/reports/ReportController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/reports/ReportController.java @@ -68,6 +68,7 @@ public class ReportController extends BaseController model.addAttribute("reportSettings", reportSettingsService.getReportSettings()); model.addAttribute("currentDate", date); model.addAttribute("filterConfiguration", filterHelpers.getFilterConfiguration(request)); + model.addAttribute("settings", settingsService.getSettings()); return "reports/reports"; } diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java index 10fab6077..66c9ef0b3 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java @@ -86,7 +86,6 @@ public class SettingsController extends BaseController @RequestParam(value = "passwordConfirmation") String passwordConfirmation, @RequestParam(value = "languageType") String languageType) { - System.out.println(settings); settings.setLanguage(LanguageType.fromName(languageType)); FieldError error = validatePassword(password, passwordConfirmation); @@ -183,11 +182,12 @@ public class SettingsController extends BaseController String verificationCode = RandomUtils.generateRandomString(RandomUtils.RandomType.BASE_58, 4, RandomUtils.RandomStringPolicy.UPPER, RandomUtils.RandomStringPolicy.DIGIT); model.addAttribute("deleteDatabase", true); model.addAttribute("verificationCode", verificationCode); + model.addAttribute("settings", settingsRepository.findOne(0)); return "settings/settings"; } @RequestMapping(value = "/settings/database/delete", method = RequestMethod.POST) - public String deleteDatabase(@RequestParam("verificationCode") String verificationCode, + public String deleteDatabase(Model model, @RequestParam("verificationCode") String verificationCode, @RequestParam("verificationUserInput") String verificationUserInput) { if(verificationUserInput.equals(verificationCode)) @@ -201,6 +201,7 @@ public class SettingsController extends BaseController return "redirect:/settings/database/requestDelete"; } + model.addAttribute("settings", settingsRepository.findOne(0)); return "settings/settings"; } @@ -208,6 +209,7 @@ public class SettingsController extends BaseController public String requestImportDatabase(Model model) { model.addAttribute("importDatabase", true); + model.addAttribute("settings", settingsRepository.findOne(0)); return "settings/settings"; } @@ -233,6 +235,7 @@ public class SettingsController extends BaseController e.printStackTrace(); model.addAttribute("errorImportDatabase", e.getMessage()); + model.addAttribute("settings", settingsRepository.findOne(0)); return "settings/settings"; } } @@ -242,6 +245,7 @@ public class SettingsController extends BaseController { model.addAttribute("database", request.getAttribute("database", WebRequest.SCOPE_SESSION)); model.addAttribute("availableAccounts", accountService.getAllAccountsAsc()); + model.addAttribute("settings", settingsRepository.findOne(0)); return "settings/import"; } @@ -250,7 +254,7 @@ public class SettingsController extends BaseController { importService.importDatabase((Database)request.getAttribute("database", WebRequest.SCOPE_SESSION), accountMatchList); request.removeAttribute("database", RequestAttributes.SCOPE_SESSION); - + model.addAttribute("settings", settingsRepository.findOne(0)); return "settings/settings"; } @@ -266,6 +270,7 @@ public class SettingsController extends BaseController { model.addAttribute("performUpdate", true); model.addAttribute("updateString", Localization.getString("info.text.update", Build.getInstance().getVersionName(), budgetMasterUpdateService.getAvailableVersionString())); + model.addAttribute("settings", settingsRepository.findOne(0)); return "settings/settings"; } diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java index dd1ba553a..c3e762a7b 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java @@ -83,6 +83,7 @@ public class TransactionController extends BaseController model.addAttribute("currentDate", date); model.addAttribute("rest", rest); model.addAttribute("filterConfiguration", filterConfiguration); + model.addAttribute("settings", settingsRepository.findOne(0)); return "transactions/transactions"; } @@ -110,7 +111,7 @@ public class TransactionController extends BaseController model.addAttribute("currentTransaction", transactionRepository.getOne(ID)); model.addAttribute("rest", rest); model.addAttribute("filterConfiguration", filterConfiguration); - + model.addAttribute("settings", settingsRepository.findOne(0)); return "transactions/transactions"; } @@ -131,6 +132,7 @@ public class TransactionController extends BaseController model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("transaction", emptyTransaction); + model.addAttribute("settings", settingsRepository.findOne(0)); return "transactions/newTransaction"; } @@ -215,6 +217,7 @@ public class TransactionController extends BaseController model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("transaction", transaction); + model.addAttribute("settings", settingsRepository.findOne(0)); return "transactions/newTransaction"; } @@ -242,6 +245,7 @@ public class TransactionController extends BaseController model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("transaction", transaction); + model.addAttribute("settings", settingsRepository.findOne(0)); return "transactions/newTransaction"; } diff --git a/src/main/resources/templates/about.ftl b/src/main/resources/templates/about.ftl index 27e45ef73..89a3b9a94 100644 --- a/src/main/resources/templates/about.ftl +++ b/src/main/resources/templates/about.ftl @@ -5,7 +5,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "helpers/navbar.ftl" as navbar> - <@navbar.navbar "about"/> + <@navbar.navbar "about" settings/> <main> <div class="card main-card background-color"> diff --git a/src/main/resources/templates/accounts/accounts.ftl b/src/main/resources/templates/accounts/accounts.ftl index ccf1a3863..88818992e 100644 --- a/src/main/resources/templates/accounts/accounts.ftl +++ b/src/main/resources/templates/accounts/accounts.ftl @@ -6,7 +6,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "accounts"/> + <@navbar.navbar "accounts" settings/> <main> <div class="card main-card background-color"> diff --git a/src/main/resources/templates/accounts/newAccount.ftl b/src/main/resources/templates/accounts/newAccount.ftl index 1cc507c12..ae6ee1ee3 100644 --- a/src/main/resources/templates/accounts/newAccount.ftl +++ b/src/main/resources/templates/accounts/newAccount.ftl @@ -6,7 +6,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "accounts"/> + <@navbar.navbar "accounts" settings/> <main> <div class="card main-card background-color"> diff --git a/src/main/resources/templates/categories/categories.ftl b/src/main/resources/templates/categories/categories.ftl index 70076c785..378774272 100644 --- a/src/main/resources/templates/categories/categories.ftl +++ b/src/main/resources/templates/categories/categories.ftl @@ -7,7 +7,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "categories"/> + <@navbar.navbar "categories" settings/> <#import "categoriesFunctions.ftl" as categoriesFunctions> diff --git a/src/main/resources/templates/categories/newCategory.ftl b/src/main/resources/templates/categories/newCategory.ftl index afc5b4f44..dd58d6cb0 100644 --- a/src/main/resources/templates/categories/newCategory.ftl +++ b/src/main/resources/templates/categories/newCategory.ftl @@ -8,7 +8,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "categories"/> + <@navbar.navbar "categories" settings/> <#import "categoriesFunctions.ftl" as categoriesFunctions> diff --git a/src/main/resources/templates/helpers/navbar.ftl b/src/main/resources/templates/helpers/navbar.ftl index 5f1af733a..4f9fab34e 100644 --- a/src/main/resources/templates/helpers/navbar.ftl +++ b/src/main/resources/templates/helpers/navbar.ftl @@ -1,6 +1,6 @@ <#import "/spring.ftl" as s> -<#macro navbar activeID> +<#macro navbar activeID settings> <ul id="slide-out" class="sidenav sidenav-fixed"> <@itemLogo/> <@itemDivider/> @@ -48,6 +48,7 @@ </#if> </form> + <@backupReminder settings/> </#macro> <#macro itemLogo> diff --git a/src/main/resources/templates/index.ftl b/src/main/resources/templates/index.ftl index 987bada70..1fc5f78b5 100644 --- a/src/main/resources/templates/index.ftl +++ b/src/main/resources/templates/index.ftl @@ -6,8 +6,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "helpers/navbar.ftl" as navbar> - <@navbar.navbar "home"/> - <@navbar.backupReminder settings/> + <@navbar.navbar "home" settings/> <main> <div class="card main-card background-color"> diff --git a/src/main/resources/templates/placeholder/comingSoon.ftl b/src/main/resources/templates/placeholder/comingSoon.ftl index 33ea19ef6..e9f850672 100644 --- a/src/main/resources/templates/placeholder/comingSoon.ftl +++ b/src/main/resources/templates/placeholder/comingSoon.ftl @@ -5,7 +5,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar active/> + <@navbar.navbar active settings/> <main> <div class="card main-card background-color"> diff --git a/src/main/resources/templates/placeholder/emptyPage.ftl b/src/main/resources/templates/placeholder/emptyPage.ftl index ddb867436..c1ff49371 100644 --- a/src/main/resources/templates/placeholder/emptyPage.ftl +++ b/src/main/resources/templates/placeholder/emptyPage.ftl @@ -5,7 +5,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar active/> + <@navbar.navbar active settings/> <!-- Scripts--> <#import "../helpers/scripts.ftl" as scripts> diff --git a/src/main/resources/templates/reports/reports.ftl b/src/main/resources/templates/reports/reports.ftl index e6d01c6f1..111432b31 100644 --- a/src/main/resources/templates/reports/reports.ftl +++ b/src/main/resources/templates/reports/reports.ftl @@ -9,7 +9,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "reports"/> + <@navbar.navbar "reports" settings/> <#import "../transactions/transactionsMacros.ftl" as transactionsMacros> <#import "../filter/filterMacros.ftl" as filterMacros> diff --git a/src/main/resources/templates/settings/import.ftl b/src/main/resources/templates/settings/import.ftl index 44e1c8a1a..53e2568e2 100644 --- a/src/main/resources/templates/settings/import.ftl +++ b/src/main/resources/templates/settings/import.ftl @@ -6,7 +6,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "settings"/> + <@navbar.navbar "settings" settings/> <main> <div class="card main-card background-color"> diff --git a/src/main/resources/templates/settings/settings.ftl b/src/main/resources/templates/settings/settings.ftl index ead828e44..31910ed3f 100644 --- a/src/main/resources/templates/settings/settings.ftl +++ b/src/main/resources/templates/settings/settings.ftl @@ -6,7 +6,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "settings"/> + <@navbar.navbar "settings" settings/> <#import "settingsMacros.ftl" as settingsMacros> diff --git a/src/main/resources/templates/transactions/newTransaction.ftl b/src/main/resources/templates/transactions/newTransaction.ftl index 1088e63aa..17cc4e2e1 100644 --- a/src/main/resources/templates/transactions/newTransaction.ftl +++ b/src/main/resources/templates/transactions/newTransaction.ftl @@ -9,7 +9,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "transactions"/> + <@navbar.navbar "transactions" settings/> <#import "newTransactionMacros.ftl" as newTransactionMacros> diff --git a/src/main/resources/templates/transactions/transactions.ftl b/src/main/resources/templates/transactions/transactions.ftl index 50fc52389..c07f72704 100644 --- a/src/main/resources/templates/transactions/transactions.ftl +++ b/src/main/resources/templates/transactions/transactions.ftl @@ -10,7 +10,7 @@ </head> <body class="budgetmaster-blue-light"> <#import "../helpers/navbar.ftl" as navbar> - <@navbar.navbar "transactions"/> + <@navbar.navbar "transactions" settings/> <#import "transactionsMacros.ftl" as transactionsMacros> <#import "../filter/filterMacros.ftl" as filterMacros> -- GitLab