Skip to content
Snippets Groups Projects
newAccount.ftl 7.84 KiB
Newer Older
  • Learn to ignore specific revisions
  • Robert Goldmann's avatar
    Robert Goldmann committed
            <#import "../helpers/header.ftl" as header>
    
            <@header.globals/>
    
    
            <#if account.getID()??>
                <#assign title=locale.getString("title.account.edit")/>
            <#else>
                <#assign title=locale.getString("title.account.new")/>
            </#if>
    
            <@header.header "BudgetMaster - ${title}"/>
    
            <@header.style "iconSelect"/>
    
            <@header.style "datepicker"/>
    
            <#import "/spring.ftl" as s>
    
    Robert Goldmann's avatar
    Robert Goldmann committed
            <#import "../helpers/navbar.ftl" as navbar>
    
            <@navbar.navbar "accounts" settings/>
    
            <#import "../helpers/customSelectMacros.ftl" as customSelectMacros>
    
            <#import "../helpers/iconSelect.ftl" as iconSelectMacros>
    
            <#import "../helpers/fontColorPicker.ftl" as fontColorPickerMacros>
    
                <div class="card main-card background-color">
    
                    <div class="container">
                        <div class="section center-align">
    
                            <div class="headline">${title}</div>
    
    
                    <@header.content>
                        <div class="container">
    
    Robert Goldmann's avatar
    Robert Goldmann committed
                        <#import "../helpers/validation.ftl" as validation>
    
                        <form name="NewAccount" action="<@s.url '/accounts/newAccount'/>" method="post">
    
                            <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
    
                            <input type="hidden" name="ID" value="<#if account.getID()??>${account.getID()?c}</#if>">
    
                            <input type="hidden" name="isSelected" value="<#if account.isSelected()??>${account.isSelected()?c}</#if>">
    
                            <input type="hidden" name="isDefault" value="<#if account.isDefault()??>${account.isDefault()?c}</#if>">
    
    
                            <#-- name -->
                            <div class="row">
                                <div class="input-field col s12 m12 l8 offset-l2">
    
                                    <input id="account-name" type="text" name="name" <@validation.validation "name"/> value="<#if account.getName()??>${account.getName()}</#if>">
                                    <label for="account-name">${locale.getString("account.new.label.name")}</label>
                                </div>
                            </div>
    
                            <#-- description -->
                            <div class="row">
                                <div class="input-field col s12 m12 l8 offset-l2">
                                    <i class="material-icons prefix">article</i>
                                    <textarea id="account-description" class="materialize-textarea" name="description" data-length="250" <@validation.validation "description"/>><#if account.getDescription()??>${account.getDescription()}</#if></textarea>
                                    <label class="input-label" for="account-description">${locale.getString("transaction.new.label.description")}</label>
                                </div>
                            </div>
    
    
                            <#if account.getIconReference()?? && (account.getIconReference().isImageIcon() || account.getIconReference().isBuiltinIcon())>
                                <#assign initialBackgroundClasses='category-square'/>
    
                                <#assign initialBackgroundClasses='category-square account-square-border'/>
    
                            <#assign backgroundClasses='category-square account-square-border'/>
    
                            <@iconSelectMacros.iconSelect id="account-icon" item=account showBackground=false initialBackgroundClasses=initialBackgroundClasses backgroundClasses=backgroundClasses/>
    
    
                            <#-- font color -->
                            <@fontColorPickerMacros.fontColorPicker account/>
    
                            <#if account.getAccountState()??>
                                <#assign selectedState=account.getAccountState()>
                            <#else>
                                <#assign selectedState=availableAccountStates[0]>
                            </#if>
                            <@customSelectMacros.customAccountStateSelect "account-state-select-wrapper" "accountState" availableAccountStates selectedState "col s12 m12 l8 offset-l2" locale.getString("account.new.label.state") "account-state"/>
    
                            <#-- end date -->
                            <div class="row">
                                <div class="input-field col s12 m12 l8 offset-l2">
                                    <#if account.getEndDate()??>
                                        <#assign startDate = dateService.getLongDateString(account.getEndDate())/>
                                        <#assign accountEndDate = dateService.getLongDateString(account.getEndDate())/>
                                    <#else>
                                        <#assign startDate = dateService.getLongDateString(today)/>
                                        <#assign accountEndDate = ""/>
                                    </#if>
    
                                    <i class="material-icons prefix">notifications</i>
                                    <input id="account-datepicker" type="text" class="datepicker" name="endDate" value="${accountEndDate}">
                                    <label class="input-label" for="account-datepicker">${locale.getString("account.new.label.endDate")}</label>
                                </div>
                            </div>
    
                            <script>
                                startDate = "${startDate}".split(".");
                                startDate = new Date(startDate[2], startDate[1]-1, startDate[0]);
                            </script>
    
    
                            <br>
    
                            <#-- buttons -->
                            <div class="row hide-on-small-only">
    
                                <div class="col s6 right-align">
    
                                    <@header.buttonLink url='/accounts' icon='clear' localizationKey='cancel' id='button-cancel-save-account' color='red'/>
    
                                <div class="col s6 left-align">
    
                                    <@header.buttonSubmit name='action' icon='save' localizationKey='save' id='button-save-account' color='green'/>
    
                                </div>
                            </div>
                            <div class="hide-on-med-and-up">
                                <div class="row center-align">
                                    <div class="col s12">
    
                                        <@header.buttonLink url='/accounts' icon='clear' localizationKey='cancel' id='button-cancel-save-account' color='red'/>
    
                                    </div>
                                </div>
                                <div class="row center-align">
                                    <div class="col s12">
    
                                        <@header.buttonSubmit name='action' icon='save' localizationKey='save' id='button-save-account' color='green'/>
    
                    </@header.content>
    
            <@iconSelectMacros.modalIconSelect idToFocusOnClose="account-name" item=account/>
    
            <#import "../helpers/globalDatePicker.ftl" as datePicker>
            <@datePicker.datePickerLocalization/>
    
    
    Robert Goldmann's avatar
    Robert Goldmann committed
            <#import "../helpers/scripts.ftl" as scripts>
    
            <script src="<@s.url '/webjars/vanilla-picker/dist/vanilla-picker.min.js'/>"></script>
    
            <script src="<@s.url '/js/accounts.js'/>"></script>
    
            <script src="<@s.url '/js/iconSelect.js'/>"></script>
    
            <script src="<@s.url '/js/fontColorPicker.js'/>"></script>