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