From 89cbff81c947707209ff67823e0c992c8ffc7c44 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 2 Dec 2018 10:50:26 +0100 Subject: [PATCH] Fixed #366 - sort account select --- .../budgetmaster/controller/AccountController.java | 6 +++--- .../controller/SettingsController.java | 6 +++--- .../controller/TransactionController.java | 14 ++++++++------ .../repositories/AccountRepository.java | 2 +- .../budgetmaster/services/AccountService.java | 7 +++++++ .../budgetmaster/services/HelpersService.java | 2 +- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/AccountController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/AccountController.java index 839782add..373701e24 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/controller/AccountController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/controller/AccountController.java @@ -42,14 +42,14 @@ public class AccountController extends BaseController @RequestMapping("/accounts") public String accounts(HttpServletRequest request, Model model) { - model.addAttribute("accounts", accountRepository.findAllByOrderByNameAsc()); + model.addAttribute("accounts", accountService.getAllAccountsAsc()); return "accounts/accounts"; } @RequestMapping("/accounts/{ID}/requestDelete") public String requestDeleteAccount(Model model, @PathVariable("ID") Integer ID) { - model.addAttribute("accounts", accountRepository.findAllByOrderByNameAsc()); + model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("currentAccount", accountRepository.getOne(ID)); return "accounts/accounts"; } @@ -63,7 +63,7 @@ public class AccountController extends BaseController return "redirect:/accounts"; } - model.addAttribute("accounts", accountRepository.findAllByOrderByNameAsc()); + model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("currentAccount", accountRepository.getOne(ID)); model.addAttribute("accountNotDeletable", true); return "accounts/accounts"; diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java index bfaf4b68d..d9a72ea1b 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java @@ -7,8 +7,8 @@ import de.deadlocker8.budgetmaster.database.Database; import de.deadlocker8.budgetmaster.database.DatabaseParser; import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatchList; import de.deadlocker8.budgetmaster.entities.Settings; -import de.deadlocker8.budgetmaster.repositories.AccountRepository; import de.deadlocker8.budgetmaster.repositories.SettingsRepository; +import de.deadlocker8.budgetmaster.services.AccountService; import de.deadlocker8.budgetmaster.services.DatabaseService; import de.deadlocker8.budgetmaster.services.HelpersService; import de.deadlocker8.budgetmaster.services.ImportService; @@ -58,7 +58,7 @@ public class SettingsController extends BaseController private DatabaseService databaseService; @Autowired - private AccountRepository accountRepository; + private AccountService accountService; @Autowired private ImportService importService; @@ -236,7 +236,7 @@ public class SettingsController extends BaseController public String openAccountMatcher(WebRequest request, Model model) { model.addAttribute("database", request.getAttribute("database", WebRequest.SCOPE_SESSION)); - model.addAttribute("availableAccounts", accountRepository.findAllByOrderByNameAsc()); + model.addAttribute("availableAccounts", accountService.getAllAccountsAsc()); return "import"; } diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/TransactionController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/TransactionController.java index e94dae0b4..4af15b79d 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/controller/TransactionController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/controller/TransactionController.java @@ -1,13 +1,15 @@ package de.deadlocker8.budgetmaster.controller; -import de.deadlocker8.budgetmaster.entities.Transaction; import de.deadlocker8.budgetmaster.entities.Settings; import de.deadlocker8.budgetmaster.entities.Tag; +import de.deadlocker8.budgetmaster.entities.Transaction; import de.deadlocker8.budgetmaster.repeating.RepeatingOption; import de.deadlocker8.budgetmaster.repeating.RepeatingTransactionUpdater; import de.deadlocker8.budgetmaster.repeating.endoption.*; -import de.deadlocker8.budgetmaster.repeating.modifier.*; +import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifier; +import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierType; import de.deadlocker8.budgetmaster.repositories.*; +import de.deadlocker8.budgetmaster.services.AccountService; import de.deadlocker8.budgetmaster.services.HelpersService; import de.deadlocker8.budgetmaster.services.TransactionService; import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException; @@ -37,7 +39,7 @@ public class TransactionController extends BaseController private CategoryRepository categoryRepository; @Autowired - private AccountRepository accountRepository; + private AccountService accountService; @Autowired private SettingsRepository settingsRepository; @@ -113,7 +115,7 @@ public class TransactionController extends BaseController Transaction emptyTransaction = new Transaction(); model.addAttribute("currentDate", date); model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); - model.addAttribute("accounts", accountRepository.findAllByOrderByNameAsc()); + model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("transaction", emptyTransaction); return "transactions/newTransaction"; } @@ -195,7 +197,7 @@ public class TransactionController extends BaseController model.addAttribute("error", bindingResult); model.addAttribute("currentDate", date); model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); - model.addAttribute("accounts", accountRepository.findAllByOrderByNameAsc()); + model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("transaction", transaction); return "transactions/newTransaction"; } @@ -222,7 +224,7 @@ public class TransactionController extends BaseController DateTime date = getDateTimeFromCookie(cookieDate); model.addAttribute("currentDate", date); model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); - model.addAttribute("accounts", accountRepository.findAllByOrderByNameAsc()); + model.addAttribute("accounts", accountService.getAllAccountsAsc()); model.addAttribute("transaction", transaction); return "transactions/newTransaction"; } diff --git a/src/main/java/de/deadlocker8/budgetmaster/repositories/AccountRepository.java b/src/main/java/de/deadlocker8/budgetmaster/repositories/AccountRepository.java index f36fab75f..9cea8a0b7 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/repositories/AccountRepository.java +++ b/src/main/java/de/deadlocker8/budgetmaster/repositories/AccountRepository.java @@ -9,7 +9,7 @@ import java.util.List; public interface AccountRepository extends JpaRepository<Account, Integer> { - List<Account> findAllByOrderByNameAsc(); + List<Account> findAllByTypeOrderByNameAsc(AccountType accountType); Account findByName(String name); diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java index c81472a47..119454e30 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java @@ -39,6 +39,13 @@ public class AccountService implements Resetable return accountRepository; } + public List<Account> getAllAccountsAsc() + { + List<Account> accounts = accountRepository.findAllByType(AccountType.ALL); + accounts.addAll(accountRepository.findAllByTypeOrderByNameAsc(AccountType.CUSTOM)); + return accounts; + } + public void deleteAccount(int ID) { Account accountToDelete = accountRepository.findOne(ID); diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java index 359c72143..dcc66b880 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java @@ -196,7 +196,7 @@ public class HelpersService public List<Account> getAllAccounts() { - return accountRepository.findAllByOrderByNameAsc(); + return accountService.getAllAccountsAsc(); } public Account getCurrentAccount() -- GitLab