Merge branch 'release/4.6.3'

This commit is contained in:
James Cole
2017-07-23 10:01:48 +02:00
202 changed files with 5300 additions and 1827 deletions

View File

@@ -11,8 +11,6 @@
<div class="box" id="account-index-{{ what }}">
<div class="box-header with-border">
<h3 class="box-title">{{ subTitle }}</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>

View File

@@ -14,7 +14,7 @@
<div class="box-header with-border">
<h3 class="box-title">{{ title }}</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>

View File

@@ -8,23 +8,10 @@
<div class="row">
<div class="col-lg-6 col-sm-12 col-md-12">
<div class="box">
<div class="box" id="billInfo">
<div class="box-header with-border">
<h3 class="box-title">{{ bill.name }}</h3>
{% if bill.active %}
<i class="fa fa-check fa-fw" title="{{ 'active'|_ }}"></i>
{% else %}
<i class="fa fa-times fa-fw" title="{{ 'inactive'|_ }}"></i>
{% endif %}
{% if bill.automatch %}
<i class="fa fa-check fa-fw" title="{{ 'auto_match_on'|_ }}"></i>
{% else %}
<i class="fa fa-times fa-fw" title="{{ 'auto_match_off'|_ }}"></i>
{% endif %}
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>
@@ -48,8 +35,28 @@
{{ 'repeats'|_ }}
{{ trans('firefly.repeat_freq_' ~bill.repeat_freq) }}.
</td>
</tr>
<tr>
<td>{{ 'bill_is_active'|_ }}</td>
<td>
{% if bill.active %}
<i class="fa fa-check fa-fw" title="{{ 'active'|_ }}"></i> {{ 'yes'|_ }}
{% else %}
<i class="fa fa-times fa-fw" title="{{ 'inactive'|_ }}"></i> {{ 'no'|_ }}
{% endif %}
</td>
</tr>
<tr>
<td>{{ 'bill_will_automatch'|_ }}</td>
<td>
{% if bill.automatch %}
<i class="fa fa-check fa-fw" title="{{ 'auto_match_on'|_ }}"></i> {{ 'yes'|_ }}
{% else %}
<i class="fa fa-times fa-fw" title="{{ 'auto_match_off'|_ }}"></i> {{ 'no'|_ }}
{% endif %}
</td>
</tr>
<tr>
<td>{{ 'next_expected_match'|_ }}</td>
<td>
@@ -73,7 +80,7 @@
</div>
</div>
<div class="col-lg-6 col-sm-12 col-md-12">
<div class="box">
<div class="box" id="billButtons">
<div class="box-header with-border">
<h3 class="box-title">{{ 'more'|_ }}</h3>
</div>
@@ -88,7 +95,7 @@
<div class="row">
<div class="col-lg-12 col-sm-12 col-md-12">
<div class="box">
<div class="box" id="billChart">
<div class="box-header with-border">
<h3 class="box-title">{{ 'chart'|_ }}</h3>
</div>

View File

@@ -17,7 +17,7 @@
<small>{{ 'budgeted'|_ }}: <span id="budgetedAmount" class="text-success">{{ budgeted|formatAmountPlain }}</span></small>
</div>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6" style="text-align:right;">
<small>{{ trans('firefly.available_between',{start : periodStart, end: periodEnd }) }}:
<small id="availableBar">{{ trans('firefly.available_between',{start : periodStart, end: periodEnd }) }}:
<a href="#" class="updateIncome"><span id="available"
data-value="{{ available }}">{{ available|formatAmountPlain }}</span></a>
</small>
@@ -36,7 +36,7 @@
</div>
</div>
</div>
<div class="row">
<div class="row" id="spentBar">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<small>{{ trans('firefly.spent_between', {start: periodStart, end: periodEnd}) }}: {{ spent|formatAmount }}</small>
</div>
@@ -71,7 +71,7 @@
</div>
</div>
{% if budgets.count > 0 and inactive.count > 0 %}
<div class="box">
<div class="box" id="createBudgetBox">
<div class="box-header with-border">
<h3 class="box-title">{{ 'createBudget'|_ }}</h3>
</div>
@@ -84,6 +84,8 @@
</div>
{% if budgets.count == 0 and inactive.count == 0 %}
{% include 'partials.empty' with {what: 'default', type: 'budgets',route: route('budgets.create')} %}
{# make FF ignore demo for now. #}
{% set shownDemo = true %}
{% endif %}
{# date thing #}
@@ -91,10 +93,10 @@
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">Period thing</h3>
<h3 class="box-title">{{ 'budget_period_navigator'|_ }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="row" id="periodNavigator">
<div class="col-lg-2 col-md-4 col-sm-12 col-xs-12">
<select class="form-control selectPeriod" name="previous">
<option label="{{ 'select_date'|_ }}" value="x">{{ 'select_date'|_ }}</option>
@@ -128,17 +130,17 @@
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">Budget stuff</h3>
<h3 class="box-title">{{ 'budgets'|_ }}</h3>
</div>
<div class="box-body no-padding">
<table class="table table-bordered table-striped">
<table class="table table-bordered table-striped sortable" id="budgetList">
<thead>
<tr>
<th class="hidden-sm hidden-xs" style="width:10%;">&nbsp;</th>
<th>{{ 'budget'|_ }}</th>
<th style="width:25%;">{{ 'budgeted'|_ }}</th>
<th class="hidden-sm hidden-xs">{{ 'spent'|_ }}</th>
<th class="hidden-sm hidden-xs">{{ 'left'|_ }}</th>
<th data-defaultsort="disabled" class="hidden-sm hidden-xs" style="width:10%;">&nbsp;</th>
<th data-defaultsign="az">{{ 'budget'|_ }}</th>
<th data-defaultsign="_19" style="width:25%;">{{ 'budgeted'|_ }}</th>
<th data-defaultsign="_19" class="hidden-sm hidden-xs">{{ 'spent'|_ }}</th>
<th data-defaultsign="_19" class="hidden-sm hidden-xs">{{ 'left'|_ }}</th>
</tr>
</thead>
<tbody>
@@ -151,7 +153,7 @@
<a href="{{ route('budgets.delete',budget.id) }}" class="btn btn-xs btn-danger"><i class="fa fa-fw fa-trash-o"></i></a>
</div>
</td>
<td>
<td data-value="{{ budget.name }}">
{% if budgetInformation[budget.id]['currentLimit'] %}
<a href="{{ route('budgets.show.limit', [budget.id, budgetInformation[budget.id]['currentLimit'].id]) }}"
class="budget-link"
@@ -160,24 +162,27 @@
<a href="{{ route('budgets.show',budget.id) }}" class="budget-link" data-id="{{ budget.id }}">{{ budget.name }}</a>
{% endif %}
</td>
<td>
{% if budgetInformation[budget.id]['currentLimit'] %}
{% set repAmount = budgetInformation[budget.id]['currentLimit'].amount %}
{% else %}
{% set repAmount = '0' %}
{% endif %}
<td data-value="{{ repAmount }}">
<div class="input-group">
<div class="input-group-addon">{{ defaultCurrency.symbol|raw }}</div>
<input type="hidden" name="balance_currency_id" value="{{ defaultCurrency.id }}"/>
{% if budgetInformation[budget.id]['currentLimit'] %}
{% set repAmount = budgetInformation[budget.id]['currentLimit'].amount %}
{% else %}
{% set repAmount = '0' %}
{% endif %}
<input class="form-control budgetAmount" data-original="{{ repAmount }}"
data-id="{{ budget.id }}" value="{{ repAmount|round }}" autocomplete="off"
step="1" min="0" name="amount" type="number">
</div>
</td>
<td class="hidden-sm hidden-xs spent" data-id="{{ budget.id }}" data-spent="{{ budgetInformation[budget.id]['spent'] }}">
<td class="hidden-sm hidden-xs spent" data-id="{{ budget.id }}" data-spent="{{ budgetInformation[budget.id]['spent'] }}"
data-value="{{ budgetInformation[budget.id]['spent'] }}">
{{ budgetInformation[budget.id]['spent']|formatAmount }}
</td>
<td class="hidden-sm hidden-xs left" data-id="{{ budget.id }}">
<td class="hidden-sm hidden-xs left" data-id="{{ budget.id }}"
data-value="{{ (repAmount + budgetInformation[budget.id]['spent']) }}">
{{ (repAmount + budgetInformation[budget.id]['spent'])|formatAmount }}
</td>
</tr>
@@ -210,17 +215,22 @@
</div>
{% endif %}
{% endblock %}
{% block scripts %}
<script type="text/javascript">
// actually spent bar data:
var spent = {{ spent * -1 }}; // must be positive for the calculation to work.
var currencySymbol = "{{ getCurrencySymbol()|raw }}";
// budgeted data:
var budgeted = {{ budgeted }};
var available = {{ available }};
var budgetIndexURI = "{{ route('budgets.index','REPLACE') }}";
</script>
{% block styles %}
<link href="css/bootstrap-sortable.css" type="text/css" rel="stylesheet" media="all">
{% endblock %}
<script type="text/javascript" src="js/ff/budgets/index.js"></script>
{% endblock %}
{% block scripts %}
<script type="text/javascript">
// actually spent bar data:
var spent = {{ spent * -1 }}; // must be positive for the calculation to work.
var currencySymbol = "{{ getCurrencySymbol()|raw }}";
// budgeted data:
var budgeted = {{ budgeted }};
var available = {{ available }};
var budgetIndexURI = "{{ route('budgets.index','REPLACE') }}";
</script>
<script type="text/javascript" src="js/lib/bootstrap-sortable.js"></script>
<script type="text/javascript" src="js/ff/budgets/index.js"></script>
{% endblock %}

View File

@@ -17,7 +17,7 @@
{% endif %}
</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>

View File

@@ -12,7 +12,7 @@
<div class="box-header with-border">
<h3 class="box-title">{{ 'categories'|_ }}</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>
@@ -33,9 +33,12 @@
{% include 'partials.empty' with {what: 'default', type: 'categories',route: route('categories.create')} %}
{% endif %}
{% endblock %}
{% block styles %}
<link href="css/bootstrap-sortable.css" type="text/css" rel="stylesheet" media="all">
{% endblock %}
{% block scripts %}
<script type="text/javascript" src="js/lib/bootstrap-sortable.js"></script>
<script type="text/javascript" src="js/ff/categories/index.js"></script>
{% endblock %}

View File

@@ -36,7 +36,7 @@
</td>
<td>{{ currency.name }} ({{ currency.code }}) ({{ currency.symbol|raw }})</td>
<td>{{ currency.decimal_places }}</td>
<td>
<td class="defaultCurrency">
{% if currency.id == defaultCurrency.id %}
<span class="label label-success">{{ 'default_currency'|_ }}</span>
{% else %}

View File

@@ -30,6 +30,8 @@
<p class="text-danger">
The page you have requested does not exist. Please check that you have not entered
the wrong URL. Did you make a typo perhaps?
<!-- {{ Request.url() }} -->
</p>
</div>
</div>

View File

@@ -7,7 +7,7 @@
<button type="button"
class="btn btn-default dropdown-toggle currency-dropdown" id="currency_dropdown_{{ name }}" data-toggle="dropdown"
aria-expanded="false">
<span id="currency_select_symbol_{{ name }}">{{ defaultCurrency.symbol|raw }}X</span> <span class="caret"></span>
<span id="currency_select_symbol_{{ name }}">{{ defaultCurrency.symbol|raw }}</span> <span class="caret"></span>
</button>
<ul class="dropdown-menu currency-dropdown-menu" role="menu">
{% for currency in currencies %}

View File

@@ -4,10 +4,6 @@
{{ Breadcrumbs.renderIfExists }}
{% endblock %}
{% block content %}
{% include 'partials.boxes' %}
<div class="row">
@@ -31,7 +27,7 @@
<canvas id="budgets-chart" style="width:100%;height:400px;" height="400" width="100%"></canvas>
</div>
</div>
<!-- CATEGORIES -->
{# CATEGORIES #}
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'categories'|_ }}</h3>
@@ -44,7 +40,7 @@
</div>
<div class="col-lg-4 col-md-6 col-sm-12">
{% if billCount > 0 %}
<!-- BILLS -->
{# BILLS #}
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'bills'|_ }}</h3>
@@ -59,55 +55,56 @@
</div>
{% endif %}
<!-- TRANSACTIONS -->
{% for data in transactions %}
<div class="box">
<div class="box-header with-border">
<h3 class="box-title"><a href="{{ route('accounts.show', data[1].id) }}">{{ data[1].name }}</a></h3>
{# TRANSACTIONS #}
<div id="all_transactions">
{% for data in transactions %}
<div class="box">
<div class="box-header with-border">
<h3 class="box-title"><a href="{{ route('accounts.show', data[1].id) }}">{{ data[1].name }}</a></h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ route('transactions.create','withdrawal') }}?account_id={{ data[1].id }}"><i
class="fa fa-long-arrow-left fa-fw"></i> {{ 'newWithdrawal'|_ }}</a></li>
<li><a href="{{ route('transactions.create','deposit') }}?account_id={{ data[1].id }}"><i
class="fa fa-long-arrow-right fa-fw"></i> {{ 'newDeposit'|_ }}</a></li>
<li><a href="{{ route('transactions.create','transfer') }}?account_from_id={{ data[1].id }}"><i
class="fa fa-fw fa-exchange"></i> {{ 'newTransfer'|_ }}</a></li>
</ul>
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ route('transactions.create','withdrawal') }}?account_id={{ data[1].id }}"><i
class="fa fa-long-arrow-left fa-fw"></i> {{ 'newWithdrawal'|_ }}</a></li>
<li><a href="{{ route('transactions.create','deposit') }}?account_id={{ data[1].id }}"><i
class="fa fa-long-arrow-right fa-fw"></i> {{ 'newDeposit'|_ }}</a></li>
<li><a href="{{ route('transactions.create','transfer') }}?account_from_id={{ data[1].id }}"><i
class="fa fa-fw fa-exchange"></i> {{ 'newTransfer'|_ }}</a></li>
</ul>
</div>
</div>
</div>
{% if data[0].count > 0 %}
<div class="box-body no-padding">
{% include 'list.journals-tiny' with {'transactions': data[0],'account': data[1]} %}
</div>
{% else %}
<div class="box-body">
<p>
<em>
{{ trans('firefly.no_transactions_account', {name: data[1].name}) }}
</em>
</p>
</div>
{% endif %}
<div class="box-footer clearfix">
<a class="btn btn-sm btn-default btn-flat pull-right"
href="{{ route('accounts.show',data[1].id) }}">{{ (data[1]|balance)|formatAmountPlain }}</a>
</div>
</div>
{% if data[0].count > 0 %}
<div class="box-body no-padding">
{% include 'list.journals-tiny' with {'transactions': data[0],'account': data[1]} %}
</div>
{% else %}
<div class="box-body">
<p>
<em>
{{ trans('firefly.no_transactions_account', {name: data[1].name}) }}
</em>
</p>
</div>
{% endif %}
<div class="box-footer clearfix">
<a class="btn btn-sm btn-default btn-flat pull-right"
href="{{ route('accounts.show',data[1].id) }}">{{ (data[1]|balance)|formatAmountPlain }}</a>
</div>
</div>
{% endfor %}
{% endfor %}
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<!-- EXPENSE ACCOUNTS -->
{# EXPENSE ACCOUNTS #}
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'expense_accounts'|_ }}</h3>
@@ -117,7 +114,7 @@
<canvas id="expense-accounts-chart" style="width:100%;height:400px;" height="400" width="100%"></canvas>
</div>
</div>
<!-- OPTIONAL REVENUE ACCOUNTS -->
{# OPTIONAL REVENUE ACCOUNTS #}
{% if showDepositsFrontpage %}
<div class="box">
<div class="box-header with-border">
@@ -134,17 +131,8 @@
{% endblock %}
{% block scripts %}
<!-- show tour? -->
<script type="text/javascript">
var showTour;
{% if showTour %}
showTour = true;
{% else %}
showTour = false;
{% endif %}
var billCount = {{ billCount }};
// uri's of charts:
var accountFrontpageUri = '{{ route('chart.account.frontpage') }}';
var accountRevenueUri = '{{ route('chart.account.revenue') }}';
var accountExpenseUri = '{{ route('chart.account.expense') }}';

View File

@@ -1,15 +0,0 @@
<div class="popover" role="tooltip">
<div class="arrow"></div>
<h3 class="popover-title"></h3>
<div class="popover-content"></div>
<div class="popover-navigation">
<div class="btn-group">
<button class="btn btn-sm btn-default" data-role="prev">&laquo; {{ 'prev'|_ }}</button>
<button class="btn btn-sm btn-default" data-role="next">{{ 'next'|_ }} &raquo;</button>
<button class="btn btn-sm btn-default" data-role="pause-resume" data-pause-text="{{ 'pause'|_ }}"
data-resume-text="Resume"> {{ 'pause'|_ }}</button>
</div>
<button class="btn btn-sm btn-default" data-role="end">{{ 'end-tour'|_ }}</button>
</div>
</div>

View File

@@ -24,13 +24,18 @@
<link href="lib/adminlte/css/skins/skin-blue-light.min.css" rel="stylesheet" type="text/css"/>
<link href="css/daterangepicker.css" rel="stylesheet" type="text/css"/>
<link href="css/firefly.css" rel="stylesheet" type="text/css"/>
<link href="css/bootstrap-tour.min.css" rel="stylesheet" type="text/css"/>
{% if not shownDemo %}
<link href="lib/intro/introjs.min.css" rel="stylesheet" type="text/css"/>
{% endif %}
{% block styles %}{% endblock %}
<!--[if lt IE 9]>
<script src="js/lib/html5shiv.min.js"></script>
<script src="js/lib/respond.min.js"></script>
<![endif]-->
<script type="text/javascript">
var forceDemoOff = false;
</script>
{# favicons #}
{% include('partials.favicons') %}
@@ -41,7 +46,7 @@
<header class="main-header">
<!-- Logo -->
{# Logo #}
<a href="{{ route('index') }}" class="logo">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini">FF</span>
@@ -60,8 +65,8 @@
<ul class="nav navbar-nav">
<li class="hidden-sm hidden-xs">
<a href="#" id="help" data-route="{{ Route.getCurrentRoute.getName }}">
<i class="fa fa-question-circle" data-route="{{ Route.getCurrentRoute.getName }}"></i>
<a href="#" id="help" data-route="{{ original_route_name }}" data-extra="{{ what|default("") }}">
<i class="fa fa-question-circle" data-route="{{ original_route_name }}" data-extra="{{ what|default("") }}"></i>
</a>
</li>
@@ -163,6 +168,9 @@
<div class="modal-footer">
<small class="pull-left">
{{ 'need_more_help'|_ }}
</small><br />
<small class="pull-left">
{{ trans('firefly.reenable_intro_text')|raw }}
</small>
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'close'|_ }}</button>
</div>
@@ -176,10 +184,18 @@
<script src="js/lib/daterangepicker.js" type="text/javascript"></script>
<script src="lib/adminlte/js/app.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/lib/accounting.min.js"></script>
<script src="js/lib/bootstrap-tour.min.js" type="text/javascript"></script>
<script src="{{ route('javascript.variables') }}?ext=.js" type="text/javascript"></script>
<script type="text/javascript" src="js/ff/firefly.js"></script>
<script type="text/javascript" src="js/ff/help.js"></script>
{% if not shownDemo %}
<script type="text/javascript">
var routeForTour = "{{ current_route_name }}";
var routeStepsUri = "{{ route('json.intro', [current_route_name, what|default("")]) }}";
var routeForFinishedTour = "{{ route('json.intro.finished', [current_route_name, what|default("")]) }}";
</script>
<script type="text/javascript" src="lib/intro/intro.min.js"></script>
<script type="text/javascript" src="js/ff/intro/intro.js"></script>
{% endif %}
{% block scripts %}{% endblock %}
{% if env('ANALYTICS_ID','') != '' %}
@@ -188,10 +204,10 @@
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)

View File

@@ -54,10 +54,10 @@
bill is active.
#}
{% if entry.paidDates.count() == 0 and entry.payDates.count() == 0 and entry.active %}
<td class="text-muted" data-value="0001-00-00 00-00-00">
<td class="paid_in_period text-muted" data-value="0001-00-00 00-00-00">
{{ 'not_expected_period'|_ }}
</td>
<td class="hidden-sm hidden-xs" data-value="{{ entry.nextExpectedMatch.format('Y-m-d H-i-s') }}">
<td class="expected_in_period hidden-sm hidden-xs" data-value="{{ entry.nextExpectedMatch.format('Y-m-d H-i-s') }}">
{{ entry.nextExpectedMatch.formatLocalized(monthAndDayFormat) }}
</td>
{% endif %}
@@ -68,10 +68,10 @@
bill is active
#}
{% if entry.paidDates.count() == 0 and entry.payDates.count() > 0 and entry.active %}
<td class="text-danger" data-value="0002-00-00 00-00-00">
<td class="paid_in_period text-danger" data-value="0002-00-00 00-00-00">
{{ 'not_or_not_yet'|_ }}
</td>
<td class=" hidden-sm hidden-xs" data-value="{{ entry.nextExpectedMatch.format('Y-m-d H-i-s') }}">
<td class="expected_in_period hidden-sm hidden-xs" data-value="{{ entry.nextExpectedMatch.format('Y-m-d H-i-s') }}">
{{ entry.nextExpectedMatch.formatLocalized(monthAndDayFormat) }}
</td>
{% endif %}
@@ -81,21 +81,21 @@
Don't care about payDates.
#}
{% if entry.paidDates.count() > 0 and entry.active %}
<td class="text-success" data-value="{{ entry.paidDates.first.format('Y-m-d H-i-s') }}">
<td class="paid_in_period text-success" data-value="{{ entry.paidDates.first.format('Y-m-d H-i-s') }}">
{% for date in entry.paidDates %}
{{ date.formatLocalized(monthAndDayFormat) }}<br/>
{% endfor %}
</td>
<td class=" hidden-sm hidden-xs" data-value="{{ entry.nextExpectedMatch.format('Y-m-d H-i-s') }}">
<td class="expected_in_period hidden-sm hidden-xs" data-value="{{ entry.nextExpectedMatch.format('Y-m-d H-i-s') }}">
{{ entry.nextExpectedMatch.formatLocalized(monthAndDayFormat) }}
</td>
{% endif %}
{# bill is not active #}
{% if not entry.active %}
<td class="text-muted" data-value="0000-00-00 00-00-00">
<td class="paid_in_period text-muted" data-value="0000-00-00 00-00-00">
~
</td>
<td class="text-muted hidden-sm hidden-xs" data-value="0">
<td class="expected_in_period text-muted hidden-sm hidden-xs" data-value="0">
~
</td>
{% endif %}

View File

@@ -34,7 +34,7 @@
<td>
<a href="{{ route('piggy-banks.show', piggyBank.id) }}" title="{{ piggyBank.account.name }}">{{ piggyBank.name }}</a>
</td>
<td style="text-align: right;">
<td style="text-align: right;" class="piggySaved">
<span title="Saved so far" style="text-align:right;">{{ piggyBank.savedSoFar|formatAmount }}</span>
</td>
<td class="hidden-sm hidden-xs" style="text-align:right;width:40px;">
@@ -44,7 +44,7 @@
{% endif %}
</td>
<td class="hidden-sm hidden-xs">
<td class="hidden-sm hidden-xs piggyBar">
<div class="progress progress" style="margin-bottom:0;">
<div
{% if piggyBank.percentage == 100 %}

View File

@@ -10,13 +10,16 @@
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<div class="row">
<div class="col-lg-6 col-sm-8 col-xs-12">
<div class="col-lg-6 col-lg-offset-3 col-md-12 col-xs-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{ 'getting_started'|_ }}</h3>
</div>
<div class="box-body">
<p>
<strong>{{ 'welcome'|_ }}</strong>
</p>
<p>
{{ 'to_get_started'|_ }}
</p>
@@ -28,15 +31,12 @@
{{ 'savings_balance_text'|_ }}
</p>
{{ ExpandedForm.balance('savings_balance') }}
{{ ExpandedForm.balance('savings_balance',0) }}
<p>
{{ 'cc_balance_text'|_ }}
{{ 'finish_up_new_user'|_ }}
</p>
{{ ExpandedForm.balance('credit_card_limit') }}
</div>
<div class="box-footer">
<input type="submit" name="submit" value="{{ 'submit'|_ }}" class="btn btn-success pull-right"/>

View File

@@ -8,7 +8,7 @@
<!-- Info boxes -->
<div class="row hidden-sm hidden-xs">
<div class="{{ boxClasses }}">
<div class="{{ boxClasses }}" id="box_out_holder">
<div class="info-box">
<span class="info-box-icon bg-red">
<a href="{{ route('transactions.index',['withdrawal']) }}"><i class="fa fa-upload fa-fw"></i></a>

View File

@@ -21,3 +21,6 @@
</div>
</div>
</div>
<script type="text/javascript">
forceDemoOff = true;
</script>

View File

@@ -28,7 +28,7 @@
<h3 class="box-title">{{ 'account_status'|_ }}</h3>
</div>
<div class="box-body table-responsive no-padding">
<table class="table table-hover">
<table class="table table-hover" id="accountStatus">
<thead>
<tr>
<th>{{ 'account'|_ }}</th>

View File

@@ -7,7 +7,7 @@
{% block content %}
<div class="row">
<div class="col-lg-8 col-md-8 col-sm-6">
<div class="box">
<div class="box" id="piggyChart">
<div class="box-header with-border">
<h3 class="box-title">{{ 'events'|_ }}</h3>
</div>
@@ -21,7 +21,7 @@
<div class="box-header with-border">
<h3 class="box-title">{{ 'details'|_ }}</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>
@@ -33,7 +33,7 @@
</div>
</div>
<div class="box-body table-responsive no-padding">
<table class="table table-hover">
<table class="table table-hover" id="piggyDetails">
<tr>
<td style="width:40%;">{{ 'account'|_ }}</td>
<td><a href="{{ route('accounts.show', piggyBank.account_id) }}">{{ piggyBank.account.name }}</a></td>
@@ -85,7 +85,7 @@
<div class="box-header with-border">
<h3 class="box-title">{{ 'table'|_ }}</h3>
</div>
<div class="box-body table-responsive no-padding">
<div class="box-body table-responsive no-padding" id="piggyEvents">
{% include 'list/piggy-bank-events' %}
</div>
</div>

View File

@@ -9,7 +9,7 @@
<!-- options block -->
<div class="row no-print">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="box">
<div class="box" id="optionsBox">
<div class="box-header with-border">
<h3 class="box-title">{{ 'options'|_ }}</h3>
</div>

View File

@@ -88,7 +88,7 @@
</div>
{% endif %}
<div class="col-lg-4 col-md-6">
<div class="box">
<div class="box" id="pieCharts">
<div class="box-header with-border">
<h3 class="box-title">{{ 'expense_per_account'|_ }}</h3>
</div>
@@ -107,7 +107,7 @@
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box" id="incomeAndExpensesChart">
<div class="box-header with-border">
<h3 class="box-title">{{ 'income_and_expenses'|_ }}</h3>
</div>

View File

@@ -114,7 +114,7 @@
</div>
</div>
{% endif %}
<div class="col-lg-2 col-md-3">
<div class="col-lg-2 col-md-3" id="pieCharts">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'income_per_account'|_ }}</h3>
@@ -146,7 +146,7 @@
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box" id="incomeAndExpensesChart">
<div class="box-header with-border">
<h3 class="box-title">{{ 'income_and_expenses'|_ }}</h3>
</div>

View File

@@ -35,8 +35,8 @@
<div class="form-group">
<label for="inputAccounts" class="col-sm-3 control-label">{{ 'report_included_accounts'|_ }}</label>
<div class="col-sm-9">
<select id="inputAccounts" name="accounts[]" multiple="multiple" class="form-control">
<div class="col-sm-9" id="inputAccountsSelect">
<select id="inputAccounts" name="accounts[]" multiple class="form-control">
{% for account in accounts %}
<option
value="{{ account.id }}"

View File

@@ -47,7 +47,7 @@
</div>
</div>
<div class="col-lg-2 col-md-3">
<div class="box">
<div class="box" id="pieCharts">
<div class="box-header with-border">
<h3 class="box-title">{{ 'income_per_tag'|_ }}</h3>
</div>
@@ -168,7 +168,7 @@
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box" id="incomeAndExpensesChart">
<div class="box-header with-border">
<h3 class="box-title">{{ 'income_and_expenses'|_ }}</h3>
</div>

View File

@@ -6,16 +6,9 @@
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{ 'rules'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ 'rules_explanation'|_ }}
</p>
</div>
</div>
<p>
<a href="{{ route('rule-groups.create') }}" id="new_rule_group" class="btn btn-success">{{ 'new_rule_group'|_ }}</a>
</p>
</div>
</div>
@@ -32,18 +25,17 @@
{% endif %}
</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i
class="fa fa-ellipsis-v"></i></button>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ route('rule-groups.edit',ruleGroup.id) }}"><i
class="fa fa-fw fa-pencil"></i> {{ 'edit'|_ }}</a></li>
<li><a href="{{ route('rule-groups.delete',ruleGroup.id) }}"><i
class="fa fa-fw fa-trash"></i> {{ 'delete'|_ }}</a></li>
<li><a href="{{ route('rule-groups.edit',ruleGroup.id) }}"><i class="fa fa-fw fa-pencil"></i> {{ 'edit'|_ }}</a></li>
<li><a href="{{ route('rule-groups.delete',ruleGroup.id) }}"><i class="fa fa-fw fa-trash"></i> {{ 'delete'|_ }}</a></li>
<li><a href="{{ route('rule-groups.select-transactions',ruleGroup.id) }}"><i
class="fa fa-fw fa-anchor"></i> {{ 'execute_on_existing_transactions_short'|_ }}</a></li>
class="fa fa-fw fa-power-off"></i> {{ trans('firefly.apply_rule_group_selection', {title: ruleGroup.title}) }}
</a></li>
{% if ruleGroup.order > 1 %}
<li><a href="{{ route('rule-groups.up',ruleGroup.id) }}"><i
class="fa fa-fw fa-arrow-up"></i> {{ 'move_rule_group_up'|_ }}</a></li>
@@ -67,7 +59,10 @@
<table class="table table-hover table-striped">
<thead>
<tr>
<th colspan="2">{{ 'rule_name'|_ }}</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>{{ 'rule_name'|_ }}</th>
<th class="hidden-xs">{{ 'rule_triggers'|_ }}</th>
<th class="hidden-xs">{{ 'rule_actions'|_ }}</th>
</tr>
@@ -76,7 +71,7 @@
{% for rule in ruleGroup.rules %}
<tr>
<td>
<div class="btn-group btn-group-xs">
<div class="btn-group btn-group-xs prio_buttons">
{% if rule.order > 1 %}
<a title="{{ 'rule_priority_up'|_ }}"
href="{{ route('rules.up', rule.id) }}"
@@ -96,6 +91,10 @@
<a href="#" class="btn btn-default"><span
class="fa fa-fw"></span></a>
{% endif %}
</div>
</td>
<td>
<div class="btn-group btn-group-xs edit_buttons">
<a title="{{ 'edit'|_ }}" href="{{ route('rules.edit', rule.id) }}"
class="btn btn-default"><span
class="fa fa-fw fa-pencil"></span></a>
@@ -104,13 +103,18 @@
class="btn btn-danger"><span
class="fa fa-fw fa-trash"></span></a>
</div>
<br/>
<div class="btn-group btn-group-xs">
<a href="{{ route('rule-groups.select-transactions',ruleGroup.id) }}" class="btn btn-default"
title=" {{ 'execute_on_existing_transactions_short'|_ }}">
<i class="fa fa-fw fa-check-circle"></i></a>
</div>
</td>
<td>
<div class="btn-group btn-group-xs test_buttons">
{# show which transactions would match #}
<a href="#" class="btn btn-default test_rule_triggers" data-id="{{ rule.id }}"
title="{{ 'test_rule_triggers'|_ }}"><i data-id="{{ rule.id }}" class="fa fa-fw fa-flask"></i></a>
{# actually execute rule #}
<a href="{{ route('rules.select-transactions',ruleGroup.id) }}" class="btn btn-default"
title=" {{ trans('firefly.apply_rule_selection', {title: rule.title}) }}">
<i class="fa fa-fw fa-power-off "></i></a>
</div>
</td>
<td>
{% if rule.active %}
@@ -180,7 +184,7 @@
<p>
<br/>
<a href="{{ route('rules.create', ruleGroup.id) }}"
class="btn btn-success">{{ 'new_rule'|_ }}</a>
class="btn btn-success new_rule">{{ 'new_rule'|_ }}</a>
</p>
</div>
</div>
@@ -188,6 +192,8 @@
</div>
{% endfor %}
{% include '/rules/partials/test-trigger-modal' %}
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<a href="{{ route('rule-groups.create') }}" class="btn btn-success">{{ 'new_rule_group'|_ }}</a>

View File

@@ -14,12 +14,12 @@
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{ 'execute_on_existing_transactions'|_ }}</h3>
<h3 class="box-title">{{ subTitle }}</h3>
</div>
<div class="box-body">
<div id="form-body">
<p>
{{ 'execute_on_existing_transactions_intro'|_ }}
{{ trans('firefly.apply_rule_group_selection_intro', {title: ruleGroup.title}) }}
</p>
<div class="row">
<div class="col-lg-6 col-md-8 col-sm-12 col-xs-12">

View File

@@ -12,7 +12,7 @@
<input type="hidden" name="active" value="1"/>
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-12">
<div class="box box-primary">
<div class="box box-primary" id="mandatory">
<div class="box-header with-border">
<h3 class="box-title">{{ 'mandatoryFields'|_ }}</h3>
</div>
@@ -80,7 +80,7 @@
<div class="box-header with-border">
<h3 class="box-title">{{ 'rule_actions'|_ }}</h3>
</div>
<div class="box-body">
<div class="box-body rule-action-box">
<table class="table table-condensed table-bordered table-striped">
<thead>
<tr>

View File

@@ -62,7 +62,7 @@
<p>
<br/>
<a href="#" class="btn btn-default add_rule_trigger">{{ 'add_rule_trigger'|_ }}</a>
<a href="#" class="btn btn-default test_rule_triggers">{{ 'test_rule_triggers'|_ }}</a>
<a href="#" class="btn btn-default test_rule_triggers"><i class="fa fa-flask"></i> {{ 'test_rule_triggers'|_ }}</a>
</p>
</div>
</div>

View File

@@ -0,0 +1,52 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.renderIfExists(Route.getCurrentRoute.getName, rule) }}
{% endblock %}
{% block content %}
<form method="POST" action="{{ route('rules.execute', rule.id) }}" accept-charset="UTF-8" class="form-horizontal" id="execute-rule">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">
<div class="col-lg-12 col-sm-12 col-xs-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{ subTitle }}</h3>
</div>
<div class="box-body">
<div id="form-body">
<p>
{{ trans('firefly.apply_rule_selection_intro', {title: rule.title}) }}
</p>
<div class="row">
<div class="col-lg-6 col-md-8 col-sm-12 col-xs-12">
{{ ExpandedForm.date('start_date', first) }}
{{ ExpandedForm.date('end_date', today) }}
<!-- ACCOUNTS -->
{{ ExpandedForm.multiCheckbox('accounts',accountList, checkedAccounts, {' class': 'account-checkbox', 'label': trans('firefly.include_transactions_from_accounts') }) }}
</div>
</div>
</div>
</div>
<div class="box-footer">
<input type="submit" name="submit" value="{{ 'execute'|_ }}" id="do-execute-button" class="btn btn-success pull-right"/>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block scripts %}
<script type="text/javascript" src="js/lib/modernizr-custom.js"></script>
<script type="text/javascript" src="js/lib/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/ff/rules/select-transactions.js"></script>
{% endblock %}
{% block styles %}
<link href="css/jquery-ui/jquery-ui.structure.min.css" type="text/css" rel="stylesheet" media="all">
<link href="css/jquery-ui/jquery-ui.theme.min.css" type="text/css" rel="stylesheet" media="all">
{% endblock %}

View File

@@ -5,151 +5,93 @@
{% endblock %}
{% block content %}
{% if query == "" %}
<div class="row">
<div class="col-lg-12">
<p>{{ 'no_results_for_empty_search'|_ }}</p>
<div class="row">
<div class="col-lg-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{ 'search_box'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ 'search_box_intro'|_ }}
</p>
{# search form #}
<form class="form-horizontal" action="{{ route('search.index') }}" method="get">
<div class="form-group">
<label for="query" class="col-sm-1 control-label">Query</label>
<div class="col-sm-10">
<input type="text" name="q" id="query" value="{{ fullQuery }}" class="form-control" placeholder="{{ fullQuery }}">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-1 col-sm-10">
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i> Search</button>
</div>
</div>
</form>
</div>
</div>
</div>
{% endif %}
</div>
{% if query %}
<div class="row">
<div class="col-lg-12">
<div class="box box-primary">
<div class="row result_row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box search_box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'advanced_search'|_ }}</h3>
<h3 class="box-title">{{ 'transactions'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ 'advanced_search_intro'|_ }}
<p class="search_ongoing text-center" style="margin-top:70px;">
{{ 'search_searching'|_ }}
</p>
{# search form #}
<form class="form-horizontal" action="{{ route('search.index') }}" method="get">
<div class="form-group">
<label for="query" class="col-sm-1 control-label">Query</label>
<div class="col-sm-10">
<input type="text" name="q" id="query" value="{{ rawQuery }}" class="form-control" placeholder="{{ rawQuery }}">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-1 col-sm-10">
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i> Search</button>
</div>
</div>
</form>
<p class="search_count" style="display: none;">
{{ 'search_found_transactions'|_ }} <span class="search_count"></span>
</p>
<div class="search_results" style="display: none;">
</div>
{# loading indicator #}
<div class="overlay">
<i class="fa fa-refresh fa-spin"></i>
</div>
</div>
</div>
<p>{{ trans('firefly.results_limited', {count: limit}) }}</p>
</div>
</div>
{% if hasModifiers %}
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'transactions'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('firefly.search_found_transactions', {count: result.transactions|length}) }}
</p>
{% include 'search.partials.transactions-large' with {'journals' : result.transactions} %}
</div>
<div class="row error_row" style="display:none; ">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box box-danger">
<div class="box-header with-border">
<h3 class="box-title">{{ 'search_error'|_ }}</h3>
</div>
<div class="box-body">
<p class="search_ongoing">
{{ 'general_search_error'|_ }}
</p>
</div>
</div>
</div>
{% else %}
<div class="row">
{% if result.transactions|length > 0 %}
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'transactions'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('firefly.search_found_transactions', {count: result.transactions|length}) }}
</p>
{% include 'search.partials.transactions' with {'transactions' : result.transactions} %}
</div>
</div>
</div>
{% endif %}
{% if result.categories|length > 0 %}
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'categories'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('firefly.search_found_categories', {count: result.categories|length}) }}
</p>
{% include 'search.partials.categories' %}
</div>
</div>
</div>
{% endif %}
{% if result.tags|length > 0 %}
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'tags'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('firefly.search_found_tags', {count: result.tags|length}) }}
</p>
{% include 'search.partials.tags' %}
</div>
</div>
</div>
{% endif %}
{% if result.accounts|length > 0 %}
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'accounts'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('firefly.search_found_accounts', {count: result.accounts|length}) }}
</p>
{% include 'search.partials.accounts' %}
</div>
</div>
</div>
{% endif %}
{% if result.budgets|length > 0 %}
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'budgets'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('firefly.search_found_budgets', {count: result.budgets|length}) }}
</p>
{% include 'search.partials.budgets' %}
</div>
</div>
</div>
{% endif %}
</div>
{% endif %}
</div>
{% endif %}
{% if query == "" %}
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'search_results'|_ }}</h3>
</div>
<div class="box-body">
<p>{{ 'no_results_for_empty_search'|_ }}</p>
</div>
</div>
</div>
</div>
{% endif %}
{% endblock %}
{% block scripts %}
<script type="text/javascript" src="js/lib/bootstrap-sortable.js"></script>
<script type="text/javascript">
var query = '{{ query }}';
var searchQuery = "{{ fullQuery|escape('js') }}";
var searchUri = "{{ route('search.search') }}";
</script>
{% endblock %}
{% block styles %}
<link rel="stylesheet" href="css/bootstrap-sortable.css" type="text/css" media="all"/>
{% endblock %}
<script type="text/javascript" src="js/ff/search/index.js"></script>
{% endblock %}

View File

@@ -1,36 +0,0 @@
<table class="table table-hover sortable">
<thead>
<tr>
<th class="hidden-sm hidden-xs" data-defaultsort="disabled">&nbsp;</th>
<th data-defaultsign="az">{{ trans('list.name') }}</th>
<th data-defaultsign="az" class="hidden-sm hidden-xs">{{ trans('list.type') }}</th>
<th data-defaultsign="az" class="hidden-sm hidden-xs">{{ trans('list.role') }}</th>
<th data-defaultsign="az" class="hidden-sm hidden-xs">{{ trans('list.iban') }}</th>
</tr>
</thead>
<tbody>
{% for account in result.accounts %}
<tr>
<td class="hidden-sm hidden-xs">
<div class="btn-group btn-group-xs">
<a class="btn btn-default btn-xs" href="{{ route('accounts.edit',account.id) }}"><i class="fa fa-fw fa-pencil"></i></a>
<a class="btn btn-danger btn-xs" href="{{ route('accounts.delete',account.id) }}"><i class="fa fa-fw fa-trash-o"></i></a>
</div>
</td>
<td data-value="{{ account.name }}">
<a href="{{ route('accounts.show',account.id) }}">{{ account.name }}</a>
</td>
<td>{{ trans('firefly.'~account.accountType.type) }}</td>
<td class="hidden-sm hidden-xs">
{% for entry in account.accountmeta %}
{% if entry.name == 'accountRole' %}
{{ ('account_role_'~entry.data)|_ }}
{% endif %}
{% endfor %}
</td>
<td class="hidden-sm hidden-xs">{{ account.iban }}</td>
</tr>
{% endfor %}
</tbody>
</table>

View File

@@ -1,24 +0,0 @@
<table class="table table-hover sortable">
<thead>
<tr>
<th class="hidden-sm hidden-xs" data-defaultsort="disabled">&nbsp;</th>
<th data-defaultsign="az">{{ trans('list.name') }}</th>
</tr>
</thead>
<tbody>
{% for budget in result.budgets %}
<tr>
<td class="hidden-sm hidden-xs" style="width:10%;">
<div class="btn-group btn-group-xs">
<a class="btn btn-default btn-xs" href="{{ route('budgets.edit', budget.id) }}"><i class="fa fa-fw fa-pencil"></i></a>
<a class="btn btn-danger btn-xs" href="{{ route('budgets.delete', budget.id) }}"><i class="fa fa-fw fa-trash-o"></i></a>
</div>
</td>
<td data-value="{{ budget.name }}">
<a href="{{ route('budgets.show',budget.id) }}">{{ budget.name }}</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>

View File

@@ -1,24 +0,0 @@
<table class="table table-hover sortable">
<thead>
<tr>
<th class="hidden-sm hidden-xs" data-defaultsort="disabled">&nbsp;</th>
<th data-defaultsign="az">{{ trans('list.name') }}</th>
</tr>
</thead>
<tbody>
{% for category in result.categories %}
<tr>
<td class="hidden-sm hidden-xs" style="width:10%;">
<div class="btn-group btn-group-xs">
<a class="btn btn-default btn-xs" href="{{ route('categories.edit',category.id) }}"><i class="fa fa-fw fa-pencil"></i></a>
<a class="btn btn-danger btn-xs" href="{{ route('categories.delete',category.id) }}"><i class="fa fa-fw fa-trash-o"></i></a>
</div>
</td>
<td data-value="{{ category.name }}">
<a href="{{ route('categories.show',category.id) }}">{{ category.name }}</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>

View File

@@ -1,26 +0,0 @@
<table class="table table-hover sortable">
<thead>
<tr>
<th class="hidden-sm hidden-xs" data-defaultsort="disabled">&nbsp;</th>
<th data-defaultsign="az">{{ trans('list.name') }}</th>
<th data-defaultsign="az">{{ trans('list.type') }}</th>
</tr>
</thead>
<tbody>
{% for tag in result.tags %}
<tr>
<td class="hidden-sm hidden-xs" style="width:10%;">
<div class="btn-group btn-group-xs">
<a class="btn btn-default btn-xs" href="{{ route('tags.edit', tag.id) }}"><i class="fa fa-fw fa-pencil"></i></a>
<a class="btn btn-danger btn-xs" href="{{ route('tags.delete', tag.id) }}"><i class="fa fa-fw fa-trash-o"></i></a>
</div>
</td>
<td data-value="{{ tag.tag }}">
<a href="{{ route('tags.show',tag.id) }}">{{ tag.tag }}</a>
</td>
<td>{{ ('tag'~tag.tagMode)|_ }}</td>
</tr>
{% endfor %}
</tbody>
</table>

View File

@@ -1,130 +0,0 @@
{{ journals.render|raw }}
<table class="table table-hover table-condensed {% if sorting %}sortable-table{% endif %}">
<thead>
<tr class="ignore">
<th class="hidden-xs no_select_boxes" colspan="2">&nbsp;</th>
<th class="hidden-xs select_boxes" colspan="2" style="display: none;"><input name="select_all" class="select_all" type="checkbox"/></th>
<th>{{ trans('list.description') }}</th>
<th>{{ trans('list.amount') }}</th>
<th class="hidden-sm hidden-xs">{{ trans('list.date') }}</th>
<th class="hidden-xs">{{ trans('list.from') }}</th>
<th class="hidden-xs">{{ trans('list.to') }}</th>
<!-- Hide budgets? -->
{% if not hideBudgets %}
<th class="hidden-xs"><i class="fa fa-tasks fa-fw" title="{{ trans('list.budget') }}"></i></th>
{% endif %}
<!-- Hide categories? -->
{% if not hideCategories %}
<th class="hidden-xs"><i class="fa fa-bar-chart fa-fw" title="{{ trans('list.category') }}"></i></th>
{% endif %}
<!-- Hide bills? -->
{% if not hideBills %}
<th class="hidden-xs"><i class="fa fa-fw fa-rotate-right" title="{{ trans('list.bill') }}"></i></th>
{% endif %}
</tr>
</thead>
<tbody>
{% for transaction in journals %}
<tr class="drag" data-date="{{ transaction.date.format('Y-m-d') }}" data-id="{{ transaction.journal_id }}">
<td class="hidden-xs">
<div class="select_single" style="display:none;">
<input name="select_all_single[]" class="select_all_single" value="{{ transaction.journal_id }}" type="checkbox"/>
</div>
<div class="btn-group btn-group-xs edit_buttons edit_tr_buttons">{% if sorting %}<a href="#" class="handle btn btn-default btn-xs"><i
class="fa fa-fw fa-arrows-v"></i></a>{% endif %}<a href="{{ route('transactions.edit',transaction.journal_id) }}"
class="btn btn-xs btn-default"><i class="fa fa-fw fa-pencil"></i></a><a
href="{{ route('transactions.delete',transaction.journal_id) }}" class="btn btn-xs btn-danger"><i
class="fa fa-fw fa-trash-o"></i></a></div>
</td>
<td class="hidden-xs">
{{ transaction|typeIconTransaction }}
</td>
<td>
<a href="{{ route('transactions.show',transaction.journal_id) }}">
{% if transaction.transaction_description|length > 0 %}
{{ transaction.transaction_description }} ({{ transaction.description }})
{% else %}
{{ transaction.description }}
{% endif %}
</a>
{{ splitJournalIndicator(transaction.journal_id) }}
{% if transaction.transactionJournal.attachments|length > 0 %}
<i class="fa fa-paperclip"
title="{{ Lang.choice('firefly.nr_of_attachments', journal.attachments|length, {count: journal.attachments|length}) }}"></i>
{% endif %}
</td>
<td style="text-align: right;">
<span style="margin-right:5px;">
{# TODO replace with new format code #}
XX.XX
</span>
</td>
<td class="hidden-sm hidden-xs">
{{ transaction.date.formatLocalized(monthAndDayFormat) }}
</td>
<td class="hidden-xs">
{{ transactionSourceAccount(transaction) }}
</td>
<td class="hidden-xs">
{{ transactionDestinationAccount(transaction) }}
</td>
<!-- Do NOT hide the budget? -->
{% if not hideBudgets %}
<td class="hidden-xs">
{{ transactionBudgets(transaction) }}
</td>
{% endif %}
<!-- Do NOT hide the category? -->
{% if not hideCategories %}
<td class="hidden-xs">
{{ transactionCategories(transaction) }}
</td>
{% endif %}
<!-- Do NOT hide the bill? -->
{% if not hideBills %}
<td class="hidden-xs">
{% if transaction.bill_id %}
<a href="{{ route('bills.show',transaction.bill_id) }}">{{ transaction.bill_name }}</a>
{% endif %}
</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
<div class="row mass_edit_all hidden-xs" style="display: none;">
<div class="col-lg-6 col-md-12 col-sm-12 col-xs-12">
<div class="mass_button_options btn-group btn-group" style="display:none;">
<a href="#" class="btn btn-default mass_edit"><i class="fa fa-fw fa-pencil"></i> <span>{{ 'edit_selected'|_ }}</span></a>
<a href="#" class="btn btn-danger mass_delete"><i class="fa fa-fw fa-trash"></i> <span>{{ 'delete_selected'|_ }}</span></a>
</div>
</div>
<div class="col-lg-6 col-md-12 col-sm-12 col-xs-12 hidden-xs">
<div class="mass_buttons btn-group btn-group pull-right">
<a href="#" class="btn btn-default mass_select"><i class="fa fa-fw fa-check-square-o"></i> {{ 'select_transactions'|_ }}</a>
<a href="#" class="btn btn-default mass_stop_select" style="display:none;"><i class="fa faw-fw fa-square-o"
aria-hidden="true"></i> {{ 'stop_selection'|_ }}</a>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
{{ journals.render|raw }}
</div>
</div>
<script type="text/javascript">
var edit_selected_txt = "{{ 'edit_selected'|_ }}";
var delete_selected_txt = "{{ 'delete_selected'|_ }}";
</script>

View File

@@ -1,78 +0,0 @@
{{ journals.render|raw }}
<table class="table table-hover table-compressed sortable">
<thead>
<tr class="ignore">
<th data-defaultsort="disabled" class="hidden-xs" colspan="2">&nbsp;</th>
<th data-defaultsort="disabled">{{ trans('list.description') }}</th>
<th data-defaultsign="_19">{{ trans('list.amount') }}</th>
<th data-defaultsign="month" class="hidden-sm hidden-xs">{{ trans('list.date') }}</th>
</tr>
</thead>
<tbody>
{% for transaction in transactions %}
<tr>
<td class="hidden-xs">
<div class="btn-group btn-group-xs edit_buttons">
<a href="{{ route('transactions.edit',transaction.journal_id) }}" class="btn btn-xs btn-default"><i class="fa fa-fw fa-pencil"></i></a>
<a href="{{ route('transactions.delete',transaction.journal_id) }}" class="btn btn-xs btn-danger"><i class="fa fa-fw fa-trash-o"></i></a>
</div>
</td>
<td class="hidden-xs">
{{ transaction|typeIconTransaction }}
</td>
<td>
<a href="{{ route('transactions.show',transaction.journal_id) }}">
{% if transaction.transaction_description|length > 0 %}
{{ transaction.transaction_description }} ({{ transaction.description }})
{% else %}
{{ transaction.description }}
{% endif %}
</a>
{{ splitJournalIndicator(transaction.journal_id) }}
{% if transaction.transactionJournal.attachments|length > 0 %}
<i class="fa fa-paperclip"
title="{{ Lang.choice('firefly.nr_of_attachments', journal.attachments|length, {count: journal.attachments|length}) }}"></i>
{% endif %}
</td>
<td data-value="{{ transaction.transaction_amount }}">
{# TODO replace with new format code #}
XX.XX
</td>
<td class="hidden-sm hidden-xs" data-value="{{ transaction.date.format('Y-m-d H:i:s') }}">
{{ transaction.date.formatLocalized(monthAndDayFormat) }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="row mass_edit_all" style="display: none;">
<div class="col-lg-6 col-md-12 col-sm-12 col-xs-12">
<div class="mass_button_options btn-group btn-group" style="display:none;">
<a href="#" class="btn btn-default mass_edit"><i class="fa fa-fw fa-pencil"></i> <span>{{ 'edit_selected'|_ }}</span></a>
<a href="#" class="btn btn-danger mass_delete"><i class="fa fa-fw fa-trash"></i> <span>{{ 'delete_selected'|_ }}</span></a>
</div>
</div>
<div class="col-lg-6 col-md-12 col-sm-12 col-xs-12">
<div class="mass_buttons btn-group btn-group pull-right">
<a href="#" class="btn btn-default mass_select"><i class="fa fa-fw fa-check-square-o"></i> {{ 'select_transactions'|_ }}</a>
<a href="#" class="btn btn-default mass_stop_select" style="display:none;"><i class="fa faw-fw fa-square-o"
aria-hidden="true"></i> {{ 'stop_selection'|_ }}</a>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
{{ journals.render|raw }}
</div>
</div>
<script type="text/javascript">
var edit_selected_txt = "{{ 'edit_selected'|_ }}";
var delete_selected_txt = "{{ 'delete_selected'|_ }}";
</script>

View File

@@ -0,0 +1,72 @@
<table class="table table-hover table-condensed">
<thead>
<tr class="ignore">
<th class="hidden-xs" colspan="2">&nbsp;</th>
<th>{{ trans('list.description') }}</th>
<th>{{ trans('list.amount') }}</th>
<th class="hidden-sm hidden-xs">{{ trans('list.date') }}</th>
<th class="hidden-xs">{{ trans('list.from') }}</th>
<th class="hidden-xs">{{ trans('list.to') }}</th>
<th class="hidden-xs"><i class="fa fa-tasks fa-fw" title="{{ trans('list.budget') }}"></i></th>
<th class="hidden-xs"><i class="fa fa-bar-chart fa-fw" title="{{ trans('list.category') }}"></i></th>
<th class="hidden-xs"><i class="fa fa-fw fa-rotate-right" title="{{ trans('list.bill') }}"></i></th>
</tr>
</thead>
<tbody>
{% for transaction in transactions %}
<tr>
<td class="hidden-xs">
<div class="btn-group btn-group-xs">
<a href="{{ route('transactions.edit',transaction.journal_id) }}" class="btn btn-xs btn-default"><i
class="fa fa-fw fa-pencil"></i></a>
<a href="{{ route('transactions.delete',transaction.journal_id) }}" class="btn btn-xs btn-danger"><i
class="fa fa-fw fa-trash-o"></i></a></div>
</td>
<td class="hidden-xs">
{{ transaction|typeIconTransaction }}
</td>
<td>
<a href="{{ route('transactions.show',transaction.journal_id) }}">
{% if transaction.transaction_description|length > 0 %}
{{ transaction.transaction_description }} ({{ transaction.description }})
{% else %}
{{ transaction.description }}
{% endif %}
</a>
{{ splitJournalIndicator(transaction.journal_id) }}
{% if transaction.transactionJournal.attachments|length > 0 %}
<i class="fa fa-paperclip"
title="{{ Lang.choice('firefly.nr_of_attachments', journal.attachments|length, {count: journal.attachments|length}) }}"></i>
{% endif %}
</td>
<td style="text-align: right;">
<span style="margin-right:5px;">
{{ transactionAmount(transaction) }}
</span>
</td>
<td class="hidden-sm hidden-xs">
{{ transaction.date.formatLocalized(monthAndDayFormat) }}
</td>
<td class="hidden-xs">
{{ transactionSourceAccount(transaction) }}
</td>
<td class="hidden-xs">
{{ transactionDestinationAccount(transaction) }}
</td>
<td class="hidden-xs">
{{ transactionBudgets(transaction) }}
</td>
<td class="hidden-xs">
{{ transactionCategories(transaction) }}
</td>
<td class="hidden-xs">
{% if transaction.bill_id %}
<a href="{{ route('bills.show',transaction.bill_id) }}">{{ transaction.bill_name }}</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>

View File

@@ -13,7 +13,7 @@
<div class="box-header with-border">
<h3 class="box-title">{{ 'meta_data'|_ }}</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>
@@ -55,7 +55,7 @@
<div class="box-header with-border">
<h3 class="box-title">{{ 'location'|_ }}</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>
@@ -91,7 +91,7 @@
<div class="box-header with-border">
<h3 class="box-title">{{ 'transactions'|_ }}</h3>
<!-- ACTIONS MENU -->
<div class="box-tools pull-right">
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i></button>

View File

@@ -19,7 +19,7 @@
<div class="form-group">
<label class="col-sm-4 control-label">Quickswitch</label>
<div class="col-sm-8">
<div class="col-sm-8" id="switch-box">
<div class="btn-group btn-group-justified">
<a href="#" data-what="withdrawal" class="switch btn btn-default"> {{ 'withdrawal'|_ }}</a>
<a href="#" data-what="deposit" class="switch btn btn-default"> {{ 'deposit'|_ }}</a>