Files
firefly-iii/resources/views/budgets/show.twig

180 lines
9.0 KiB
Twig
Raw Normal View History

2016-11-06 08:11:43 +01:00
{% extends "./layout/default" %}
2015-06-19 20:59:14 +02:00
{% block breadcrumbs %}
2016-12-30 07:39:42 +01:00
{{ Breadcrumbs.renderIfExists(Route.getCurrentRoute.getName, budget, budgetLimit) }}
2015-06-19 20:59:14 +02:00
{% endblock %}
2015-05-02 09:06:07 +02:00
{% block content %}
2015-06-27 08:06:24 +02:00
<div class="row">
2017-01-08 10:19:10 +01:00
<div class="col-lg-12 col-md-12 col-sm-12">
2015-06-27 08:06:24 +02:00
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">
{% if budgetLimit %}
2017-04-23 09:33:33 +02:00
{{ trans('firefly.chart_budget_in_period', {name: budget.name, start: budgetLimit.start_date.formatLocalized(monthAndDayFormat), end: budgetLimit.end_date.formatLocalized(monthAndDayFormat) }) }}
{% else %}
{{ trans('firefly.chart_all_journals_for_budget', {name:budget.name}) }}
{% endif %}
</h3>
2015-05-02 09:06:07 +02:00
2015-06-27 08:06:24 +02:00
<!-- ACTIONS MENU -->
2016-12-19 21:07:38 +01:00
<div class="box-tools pull-right">
2015-06-27 08:06:24 +02:00
<div class="btn-group">
2016-12-19 21:07:38 +01:00
<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">
2015-06-27 08:06:24 +02:00
<li><a href="{{ route('budgets.edit',budget.id) }}"><i class="fa fa-pencil fa-fw"></i> {{ 'edit'|_ }}</a></li>
<li><a href="{{ route('budgets.delete',budget.id) }}"><i class="fa fa-trash fa-fw"></i> {{ 'delete'|_ }}</a></li>
</ul>
</div>
2015-05-02 09:06:07 +02:00
</div>
</div>
2015-06-27 08:06:24 +02:00
<div class="box-body">
2016-04-10 10:20:15 +02:00
<canvas id="budgetOverview" style="width:100%;" height="400"></canvas>
2015-06-27 08:06:24 +02:00
</div>
2015-05-02 09:06:07 +02:00
</div>
2017-01-08 10:19:10 +01:00
</div>
</div>
<div class="row">
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'expenses_by_category'|_ }}</h3>
</div>
<div class="box-body">
<div style="width:60%;margin:0 auto;">
<canvas id="budget-cat-out" style="margin:0 auto;"></canvas>
</div>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'expenses_by_asset_account'|_ }}</h3>
</div>
<div class="box-body">
<div style="width:60%;margin:0 auto;">
<canvas id="budget-asset-out" style="margin:0 auto;"></canvas>
</div>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'expenses_by_expense_account'|_ }}</h3>
</div>
<div class="box-body">
<div style="width:60%;margin:0 auto;">
<canvas id="budget-expense-out" style="margin:0 auto;"></canvas>
</div>
</div>
</div>
</div>
</div>
2017-01-08 10:19:10 +01:00
<div class="row">
<div class="col-lg-offset-9 col-lg-3 col-md-offset-9 col-md-3 col-sm-12 col-xs-12">
<p class="small text-center"><a href="{{ route('budgets.show',budget.id) }}">{{ 'showEverything'|_ }}</a></p>
</div>
</div>
<div class="row">
<div class="col-lg-9 col-md-9 col-sm-12 col-xs-12">
2015-05-02 09:06:07 +02:00
2015-06-27 08:06:24 +02:00
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'transactions'|_ }}</h3>
</div>
2016-04-23 18:53:16 +02:00
<div class="box-body">
2017-03-18 07:46:42 +01:00
{% include 'list.journals-tasker' with {hideBudgets:true, hideBills:true} %}
{% if budgetLimit %}
<p>
<i class="fa fa-calendar" aria-hidden="true"></i>
<a href="{{ route('budgets.show', [budget.id]) }}">
{{ 'show_all_no_filter'|_ }}
</a>
</p>
{% endif %}
2016-04-23 18:53:16 +02:00
</div>
2015-05-02 09:06:07 +02:00
</div>
</div>
2017-01-08 10:19:10 +01:00
<div class="col-lg-3 col-md-3 col-sm-12 col-xs-12">
2015-06-27 08:06:24 +02:00
{% for limit in limits %}
2017-01-08 10:19:10 +01:00
<div class="box {% if limit.start_date == budgetLimit.start_date %}box-primary box-solid{% endif %}">
<div class="box-header with-border">
<h3 class="box-title"><a
2016-12-30 07:39:42 +01:00
href="{{ route('budgets.show.limit',[budget.id,limit.id]) }}">
{{ limit.start_date.formatLocalized(monthAndDayFormat) }} &mdash;
{{ limit.end_date.formatLocalized(monthAndDayFormat) }}
</a>
</h3>
</div>
2017-01-08 10:19:10 +01:00
<div class="box-body no-padding">
<table class="table table-hover">
<tr>
<td style="width:33%;">{{ 'amount'|_ }}</td>
<td>{{ limit.amount|formatAmount }}</td>
</tr>
<tr>
<td style="width:33%;">{{ 'spent'|_ }}</td>
<td>{{ limit.spent|formatAmount }}</td>
</tr>
<tr>
<td colspan="2">
{% set overspent = limit.amount + limit.spent < 0 %}
2015-10-03 22:29:34 +02:00
2017-01-08 10:19:10 +01:00
{% if overspent %}
{% set pct = (limit.spent != 0 ? (limit.amount / (limit.spent*-1))*100 : 0) %} <!-- must have -1 here -->
<div class="progress progress-striped">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="{{ pct|round }}" aria-valuemin="0"
aria-valuemax="100" style="width: {{ pct|round }}%;"></div>
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="{{ (100-pct)|round }}"
aria-valuemin="0" aria-valuemax="100" style="width: {{ (100-pct)|round }}%;"></div>
</div>
{% else %}
{% set pct = (limit.amount != 0 ? (((limit.spent*-1) / limit.amount)*100) : 0) %} <!-- must have -1 here -->
<div class="progress progress-striped">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{ pct|round }}" aria-valuemin="0"
aria-valuemax="100" style="width: {{ pct|round }}%;"></div>
</div>
{% endif %}
</td>
</tr>
</table>
2015-05-02 09:06:07 +02:00
</div>
</div>
2015-05-02 09:06:07 +02:00
{% endfor %}
2017-01-08 10:19:10 +01:00
<p class="small text-center"><a href="{{ route('budgets.show',budget.id) }}">{{ 'showEverything'|_ }}</a></p>
2015-06-27 08:06:24 +02:00
</div>
2015-05-02 09:06:07 +02:00
</div>
{% endblock %}
{% block scripts %}
2015-06-27 08:06:24 +02:00
<script type="text/javascript">
2015-12-18 16:37:45 +01:00
var budgetID = {{ budget.id }};
2017-03-18 07:46:42 +01:00
var budgetLimitID = 0;
2016-12-30 07:39:42 +01:00
{% if budgetLimit.id %}
budgetLimitID = {{ budgetLimit.id }};
var budgetChartUri = '{{ route('chart.budget.budget-limit', [budget.id, budgetLimit.id] ) }}';
var expenseCategoryUri = '{{ route('chart.budget.expense-category', [budget.id, budgetLimit.id]) }}';
var expenseAssetUri = '{{ route('chart.budget.expense-asset', [budget.id, budgetLimit.id]) }}';
var expenseExpenseUri = '{{ route('chart.budget.expense-expense', [budget.id, budgetLimit.id]) }}';
2015-06-27 08:06:24 +02:00
{% else %}
var budgetChartUri = '{{ route('chart.budget.budget', [budget.id] ) }}';
2015-05-02 09:06:07 +02:00
var expenseCategoryUri = '{{ route('chart.budget.expense-category', [budget.id]) }}';
var expenseAssetUri = '{{ route('chart.budget.expense-asset', [budget.id]) }}';
var expenseExpenseUri = '{{ route('chart.budget.expense-expense', [budget.id]) }}';
{% endif %}
2015-06-27 08:06:24 +02:00
</script>
2015-05-02 09:06:07 +02:00
2016-04-10 10:05:50 +02:00
<script type="text/javascript" src="js/lib/Chart.bundle.min.js"></script>
2016-11-16 20:35:25 +01:00
<script type="text/javascript" src="js/ff/charts.defaults.js"></script>
2016-04-10 17:51:51 +02:00
<script type="text/javascript" src="js/ff/charts.js"></script>
<script type="text/javascript" src="js/ff/budgets/show.js"></script>
<script type="text/javascript" src="js/ff/transactions/list.js"></script>
2015-05-02 09:06:07 +02:00
{% endblock %}