mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
182 lines
8.6 KiB
Twig
182 lines
8.6 KiB
Twig
{% extends "./layout/default" %}
|
|
|
|
{% block breadcrumbs %}
|
|
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, bill) }}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
<div class="row">
|
|
<div class="col-lg-6 col-sm-12 col-md-12">
|
|
<div class="box" id="billInfo">
|
|
<div class="box-header with-border">
|
|
<h3 class="box-title">{{ bill.name }}</h3>
|
|
|
|
<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('bills.edit',bill.id) }}"><i class="fa fa-fw fa-pencil"></i> {{ 'edit'|_ }}</a></li>
|
|
<li><a href="{{ route('bills.delete',bill.id) }}"><i class="fa fa-fw fa-trash-o"></i> {{ 'delete'|_ }}</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="box-body">
|
|
<table class="table table-striped">
|
|
<tr>
|
|
<td colspan="2">
|
|
{{ 'matching_on'|_ }}
|
|
{% for word in bill.match|split(',') %}
|
|
<span class="label label-info">{{ word }}</span>
|
|
{% endfor %}
|
|
{{ trans('firefly.between_amounts', {low: bill.amount_min|formatAmount, high: bill.amount_max|formatAmount })|raw }}
|
|
{{ '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>
|
|
{% if bill.nextExpectedMatch %}
|
|
{{ bill.nextExpectedMatch.formatLocalized(monthAndDayFormat) }}
|
|
{% else %}
|
|
<em>{{ 'unknown'|_ }}</em>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ trans('firefly.average_bill_amount_year', {year: year}) }}</td>
|
|
<td>{{ yearAverage|formatAmount }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ 'average_bill_amount_overall'|_ }}</td>
|
|
<td>{{ overallAverage|formatAmount }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-sm-12 col-md-12">
|
|
<div class="box" id="billButtons">
|
|
<div class="box-header with-border">
|
|
<h3 class="box-title">{{ 'more'|_ }}</h3>
|
|
</div>
|
|
<div class="box-body no-padding">
|
|
{% if bill.notes.count == 1 %}
|
|
<table class="table">
|
|
<tr>
|
|
<td>{{ trans('list.notes') }}</td>
|
|
<td class="markdown">{{ bill.notes.first.text|markdown }}</td>
|
|
</tr>
|
|
</table>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<div class="box-footer">
|
|
<a href="{{ route('bills.rescan',bill.id) }}" class="btn btn-default">{{ 'rescan_old'|_ }}</a>
|
|
</div>
|
|
</div>
|
|
{% if bill.attachments|length > 0 %}
|
|
<div class="box">
|
|
<div class="box-header with-border">
|
|
<h3 class="box-title">{{ 'attachments'|_ }}</h3>
|
|
</div>
|
|
<div class="box-body table-responsive no-padding">
|
|
<table class="table table-hover">
|
|
{% for att in bill.attachments %}
|
|
<tr>
|
|
<td>
|
|
<div class="btn-group btn-group-xs">
|
|
<a href="{{ route('attachments.edit', att.id) }}" class="btn btn-default"><i class="fa fa-pencil"></i></a>
|
|
<a href="{{ route('attachments.delete', att.id) }}" class="btn btn-danger"><i class="fa fa-trash"></i></a>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<i class="fa {{ att.mime|mimeIcon }}"></i>
|
|
<a href="{{ route('attachments.download', att.id) }}" title="{{ att.filename }}">
|
|
{% if att.title %}
|
|
{{ att.title }}
|
|
{% else %}
|
|
{{ att.filename }}
|
|
{% endif %}
|
|
</a>
|
|
({{ att.size|filesize }})
|
|
{% if att.description %}
|
|
<br/>
|
|
<em>{{ att.description }}</em>
|
|
{% endif %}
|
|
</td>
|
|
<td style="width:100px;">
|
|
<img src="{{ route('attachments.preview', att.id) }}"/>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-12 col-sm-12 col-md-12">
|
|
<div class="box" id="billChart">
|
|
<div class="box-header with-border">
|
|
<h3 class="box-title">{{ 'chart'|_ }}</h3>
|
|
</div>
|
|
<div class="box-body">
|
|
<canvas id="bill-overview" style="width:100%;height:400px;" height="400" width="100%"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-12 col-sm-12 col-md-12">
|
|
<div class="box">
|
|
<div class="box-header with-border">
|
|
<h3 class="box-title">{{ 'connected_journals'|_ }}</h3>
|
|
</div>
|
|
<div class="box-body">
|
|
{% include 'list.journals' %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script type="text/javascript">
|
|
var billUri = '{{ route('chart.bill.single', [bill.id]) }}';
|
|
</script>
|
|
<script type="text/javascript" src="js/lib/Chart.bundle.min.js?v={{ FF_VERSION }}"></script>
|
|
<script type="text/javascript" src="js/ff/charts.defaults.js?v={{ FF_VERSION }}"></script>
|
|
<script type="text/javascript" src="js/ff/charts.js?v={{ FF_VERSION }}"></script>
|
|
<script type="text/javascript" src="js/ff/bills/show.js?v={{ FF_VERSION }}"></script>
|
|
<script type="text/javascript" src="js/ff/transactions/list.js?v={{ FF_VERSION }}"></script>
|
|
{% endblock %}
|