Skip to content
Snippets Groups Projects
Commit aac7228b authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#297 - added basic account select to navbar; added account page (empty) and item to navbar

parent af899c93
No related branches found
No related tags found
No related merge requests found
Showing
with 71 additions and 14 deletions
package de.deadlocker8.budgetmaster.controller;
import de.deadlocker8.budgetmaster.entities.CategoryType;
import de.deadlocker8.budgetmaster.entities.Payment;
import de.deadlocker8.budgetmaster.entities.Settings;
import de.deadlocker8.budgetmaster.repositories.PaymentRepository;
import de.deadlocker8.budgetmaster.repositories.SettingsRepository;
import de.deadlocker8.budgetmaster.services.HelpersService;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@Controller
......
......@@ -8,6 +8,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class EmptyPageController extends BaseController
{
@RequestMapping("/accounts")
public String accounts(Model model)
{
model.addAttribute("active", "accounts");
return "emptyPage";
}
@RequestMapping("/reports")
public String reports(Model model)
{
......
......@@ -19,9 +19,12 @@ public class Account
@OneToMany(mappedBy = "account", fetch = FetchType.LAZY)
private List<Payment> referringPayments;
private boolean isSelected;
public Account(String name)
{
this.name = name;
this.isSelected = false;
}
public Account()
......@@ -58,6 +61,16 @@ public class Account
this.referringPayments = referringPayments;
}
public boolean isSelected()
{
return isSelected;
}
public void setSelected(boolean selected)
{
isSelected = selected;
}
@Override
public String toString()
{
......@@ -65,6 +78,7 @@ public class Account
"ID=" + ID +
", name='" + name + '\'' +
", referringPayments=" + referringPayments +
", isSelected=" + isSelected +
'}';
}
}
\ No newline at end of file
......@@ -11,4 +11,6 @@ public interface AccountRepository extends JpaRepository<Account, Integer>
List<Account> findAllByOrderByNameAsc();
Account findByName(String name);
Account findByIsSelected(boolean isSelected);
}
\ No newline at end of file
package de.deadlocker8.budgetmaster.services;
import de.deadlocker8.budgetmaster.entities.Account;
import de.deadlocker8.budgetmaster.entities.Settings;
import de.deadlocker8.budgetmaster.entities.Tag;
import de.deadlocker8.budgetmaster.repositories.AccountRepository;
import de.deadlocker8.budgetmaster.repositories.SettingsRepository;
import de.deadlocker8.budgetmaster.repositories.TagRepository;
import de.deadlocker8.budgetmaster.utils.Colors;
......@@ -30,6 +32,9 @@ public class HelpersService
@Autowired
private TagRepository tagRepository;
@Autowired
private AccountRepository accountRepository;
public String getCurrencyString(int amount)
{
return getCurrencyString(amount / 100.0);
......@@ -114,6 +119,7 @@ public class HelpersService
/**
* Replaces line breaks and tabs with spaces
*
* @param text
* @return String
*/
......@@ -152,4 +158,14 @@ public class HelpersService
{
return tagRepository.findAllByOrderByNameAsc();
}
public List<Account> getAllAccounts()
{
return accountRepository.findAllByOrderByNameAsc();
}
public Account getCurrentAccount()
{
return accountRepository.findByIsSelected(true);
}
}
\ No newline at end of file
......@@ -42,6 +42,7 @@ title.database.export=Datenbank exportieren
title.database.import=Datenbank importieren
title.datepicker=Datum whlen
title.tags=Das Tag-Eingabefeld
title.account=Konto
# LOAD
load.charts=Lade Diagramme...
......@@ -299,6 +300,7 @@ menu.reports=Berichte
menu.settings=Einstellungen
menu.about=ber
menu.logout=Logout
menu.accounts=Konten
category.new.label.name=Name
......
......@@ -42,6 +42,7 @@ title.database.export=Export Database
title.database.import=Import Database
title.datepicker=Choose date
title.tags=The Tag-Inputfield
title.account=Account
# LOAD
load.charts=Loading Charts...
......@@ -299,6 +300,7 @@ menu.reports=Reports
menu.settings=Settings
menu.about=About
menu.logout=Logout
menu.accounts=Accounts
category.new.label.name=Name
......
......@@ -34,6 +34,10 @@ main {
background-color: #5cb85c;
}
.budgetmaster-dark-green {
background-color: #468C46;
}
.budgetmaster-red {
background-color: #D82C29;
}
......@@ -164,6 +168,10 @@ main {
margin: 0 0 0 32px !important;
}
.account-select-padding {
padding: 0 32px;
}
.no-padding {
padding: 0;
}
......
$(document).ready(function () {
$('select').material_select();
$("#buttonChooseDate").click(function () {
var month = $("#selectMonth").val();
var year = $("#selectYear").val();
......
......@@ -4,6 +4,8 @@ $( document ).ready(function() {
});
$('.modal').modal();
$('select').material_select();
});
function addClass(element, className)
......
$( document ).ready(function() {
$('#modalConfirmDelete').modal('open');
$('select').material_select();
if($(".datepicker").length)
{
$('.datepicker').pickadate({
......
......@@ -13,5 +13,6 @@
<!-- Scripts-->
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
<script src="/js/main.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -3,7 +3,10 @@
<ul id="slide-out" class="side-nav fixed">
<@itemLogo/>
<@itemDivider/>
<@itemAccountSelect/>
<@itemDivider/>
<@itemWithIcon "home", "/", locale.getString("menu.home"), "home", "budgetmaster-blue", activeID/>
<@itemWithIcon "accounts", "/accounts", locale.getString("menu.accounts"), "account_balance", "budgetmaster-dark-green", activeID/>
<@itemWithIcon "payments", "/payments", locale.getString("menu.payments"), "list", "budgetmaster-baby-blue", activeID/>
<@subListStart "chart" locale.getString("menu.charts"), "show_chart" "budgetmaster-purple", activeID/>
<@itemPlain "chartCategories", "", locale.getString("menu.charts.chartCategories"), activeID/>
......@@ -35,6 +38,16 @@
<li><div class="divider no-margin"></div></li>
</#macro>
<#macro itemAccountSelect>
<div class="input-field account-select-padding">
<select id="selectAccount">
<#list helpers.getAllAccounts() as account>
<option <#if account.isSelected()>selected</#if> value="${account.getName()}">${account.getName()}</option>
</#list>
</select>
</div>
</#macro>
<#macro itemPlain ID link text activeID>
<li <#if activeID == ID>class="active"</#if>><a href="${link}" class="waves-effect"><span class="nav-margin">${text}</span></a></li>
</#macro>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment