diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java index 44543e0d17007b8cc493706b2e2649ab44915b66..f29d2e07e173b9842e836c5d43e5c9076a688e7b 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java @@ -46,7 +46,7 @@ public class HelpersService private AccountService accountService; @Autowired - private TransactionRepository transactionRepository; + private TransactionService transactionService; public String getCurrencyString(int amount) { @@ -234,9 +234,15 @@ public class HelpersService return sum; } + public DateTime getCurrentDate() + { + return DateTime.now(); + } + public int getAccountBudget() { - List<Transaction> transactions = transactionRepository.findAllByAccount(getCurrentAccount()); + List<Transaction> transactions = transactionService.getTransactionsForAccountUntilDate(getCurrentAccount(), getCurrentDate()); + int sum = 0; for(Transaction transaction : transactions) { diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/TransactionService.java b/src/main/java/de/deadlocker8/budgetmaster/services/TransactionService.java index 2310cf6e8dc5e9062a1832b09f218ec40db4dcb9..e87d3bd4d7903f00ac456606fc30b7bfd76c9643 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/services/TransactionService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/services/TransactionService.java @@ -76,6 +76,12 @@ public class TransactionService implements Resetable return transactionRepository.findAllByAccountAndDateBetweenOrderByDateDesc(account, startDate, endDate); } + public List<Transaction> getTransactionsForAccountUntilDate(Account account, DateTime date) + { + DateTime startDate = DateTime.now().withYear(1900).withMonthOfYear(1).withDayOfMonth(1); + return transactionRepository.findAllByAccountAndDateBetweenOrderByDateDesc(account, startDate, date); + } + private int getRest(Account account, DateTime endDate) { DateTime startDate = DateTime.now().withYear(2000).withMonthOfYear(1).withDayOfMonth(1); diff --git a/src/main/resources/languages/_de.properties b/src/main/resources/languages/_de.properties index 7f43763f32c91ca5587a70ebeee157d365cb6018..aed78b8f09b41bcbef5e2a5db3fd69fc5a6ba639 100644 --- a/src/main/resources/languages/_de.properties +++ b/src/main/resources/languages/_de.properties @@ -147,6 +147,7 @@ settings.database.delete.verification=Best account.new.label.name=Name account.default.name=Standardkonto +account.budget.asof=Stand transaction.new.label.name=Name transaction.new.label.amount=Betrag diff --git a/src/main/resources/languages/_en.properties b/src/main/resources/languages/_en.properties index c70e011eef15249f26529cbbf417477a464c404a..10ef3575b27005ba9404bfdf550350717cf4602a 100644 --- a/src/main/resources/languages/_en.properties +++ b/src/main/resources/languages/_en.properties @@ -148,6 +148,7 @@ settings.database.delete.verification=Verification Code account.new.label.name=Name account.default.name=Default Account +account.budget.asof=as of transaction.new.label.name=Name transaction.new.label.amount=Amount diff --git a/src/main/resources/static/css/dark/style.css b/src/main/resources/static/css/dark/style.css index d49de748401c55aa48f1fe67a399ae39b76bf825..86c5b9a82c81600baf0d7c4c116f7db244126243 100644 --- a/src/main/resources/static/css/dark/style.css +++ b/src/main/resources/static/css/dark/style.css @@ -422,6 +422,10 @@ input[type="radio"]:not(:checked) + label::before, [type="radio"]:not(:checked) font-size: 20px !important; } +.account-budget-date { + font-size: 12px !important; +} + .account-navbar { padding: 5px 32px 12px 32px; } diff --git a/src/main/resources/static/css/style.css b/src/main/resources/static/css/style.css index 6254789dab62d193b94d0b03c5cb77678e757f27..b77bf617222c483111a6f883055dbd2691a06fbe 100644 --- a/src/main/resources/static/css/style.css +++ b/src/main/resources/static/css/style.css @@ -364,6 +364,10 @@ input[type="radio"]:checked + label::after, [type="radio"].with-gap:checked + la font-size: 20px !important; } +.account-budget-date { + font-size: 12px !important; +} + .account-navbar { padding: 5px 32px 12px 32px; } diff --git a/src/main/resources/templates/navbar.ftl b/src/main/resources/templates/navbar.ftl index 67e33ec7d4e1ed3fcc01913dfaa48df99a22bfe2..ed5059b75fdda1bf7b7b4bd9497fa383f782e9e3 100644 --- a/src/main/resources/templates/navbar.ftl +++ b/src/main/resources/templates/navbar.ftl @@ -63,6 +63,7 @@ <#else> <div class="account-budget ${greenTextColor}">${helpers.getCurrencyString(accountBudget)}</div> </#if> + <div class="account-budget-date text-color">(${locale.getString("account.budget.asof")}: ${helpers.getDateString(helpers.getCurrentDate())})</div> </div> </#macro>