206 lines
9.1 KiB
HTML
206 lines
9.1 KiB
HTML
{% extends "base.html" %}
|
|
{% comment %}
|
|
The Mia Accounting Application
|
|
report-cash.html: The template for the cash accounts
|
|
|
|
Copyright (c) 2020 imacat.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
Author: imacat@mail.imacat.idv.tw (imacat)
|
|
First written: 2020/7/1
|
|
{% endcomment %}
|
|
{% load static %}
|
|
{% load i18n %}
|
|
{% load mia_core %}
|
|
{% load accounting %}
|
|
|
|
{% block settings %}
|
|
{% blocktrans asvar title with account=request.resolver_match.kwargs.account.title prep_period=request.resolver_match.kwargs.period.prep_desc %}Cash Account for {{ account }} {{ prep_period }}{% endblocktrans %}
|
|
{% setvar "title" title %}
|
|
{% setvar "use_period_chooser" True %}
|
|
{% static "accounting/css/report.css" as file %}{% add_css file %}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
<div class="btn-group btn-actions">
|
|
<div class="btn-group">
|
|
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
|
|
<i class="fas fa-edit"></i>
|
|
{% trans "New" context "Accounting" as text %}{{ text|force_escape }}
|
|
</button>
|
|
<div class="dropdown-menu">
|
|
<a class="dropdown-item" href="{% url "accounting:transactions.create" "expense" as url %}{% url_with_return url %}">
|
|
{{ _("Cash Expense")|force_escape }}
|
|
</a>
|
|
<a class="dropdown-item" href="{% url "accounting:transactions.create" "income" as url %}{% url_with_return url %}">
|
|
{{ _("Cash Income")|force_escape }}
|
|
</a>
|
|
<a class="dropdown-item" href="{% url "accounting:transactions.create" "transfer" as url %}{% url_with_return url %}">
|
|
{{ _("Transfer")|force_escape }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{% with current_report_icon="fas fa-money-bill-wave" current_report_title=_("Cash Account") cash_account=request.resolver_match.kwargs.account period=request.resolver_match.kwargs.period %}
|
|
{% include "accounting/include/report-chooser.html" %}
|
|
{% endwith %}
|
|
<div class="btn-group">
|
|
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
|
|
<span class="d-none d-md-inline">{{ request.resolver_match.kwargs.account.title|title_case }}</span>
|
|
<span class="d-md-none">{{ _("Account")|force_escape }}</span>
|
|
</button>
|
|
<div class="dropdown-menu account-picker">
|
|
<div class="dropdown-header">{{ _("Shortcuts")|force_escape }}</div>
|
|
{% for account in shortcut_accounts %}
|
|
<a class="dropdown-item {% if account.code == request.resolver_match.kwargs.account.code %} active {% endif %}>" href="{% url "accounting:cash" account request.resolver_match.kwargs.period %}">
|
|
{{ account.title|title_case }}
|
|
</a>
|
|
{% endfor %}
|
|
<div class="dropdown-header">{{ _("All")|force_escape }}</div>
|
|
{% for account in all_accounts %}
|
|
<a class="dropdown-item {% if account.code == request.resolver_match.kwargs.account.code %} active {% endif %}>" href="{% url "accounting:cash" account request.resolver_match.kwargs.period %}">
|
|
{{ account.code }} {{ account.title|title_case }}
|
|
</a>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#period-modal">
|
|
<i class="far fa-calendar-alt"></i>
|
|
<span class="d-none d-md-inline">{{ request.resolver_match.kwargs.period.description }}</span>
|
|
<span class="d-md-none">{{ _("Period")|force_escape }}</span>
|
|
</button>
|
|
</div>
|
|
|
|
{% with period=request.resolver_match.kwargs.period %}
|
|
{% include "mia_core/include/period-chooser.html" %}
|
|
{% endwith %}
|
|
|
|
{% if record_list %}
|
|
{% include "mia_core/include/pagination.html" %}
|
|
|
|
{# The table for large screens #}
|
|
<table class="table table-striped table-hover d-none d-md-table general-journal-table">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">{{ _("Date")|force_escape }}</th>
|
|
<th scope="col">{{ _("Account")|force_escape }}</th>
|
|
<th scope="col">{{ _("Summary")|force_escape }}</th>
|
|
<th class="amount" scope="col">{{ _("Income")|force_escape }}</th>
|
|
<th class="amount" scope="col">{{ _("Expense")|force_escape }}</th>
|
|
<th class="amount" scope="col">{{ _("Balance")|force_escape }}</th>
|
|
<th class="actions" scope="col">{{ _("View")|force_escape }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for record in record_list %}
|
|
<tr class="{% if not record.is_balanced or record.has_order_hole %} table-danger {% endif %}">
|
|
<td>{{ record.transaction.date|smart_date }}</td>
|
|
<td>{{ record.account.title|title_case }}</td>
|
|
<td>{{ record.summary|default:"" }}{% if not record.is_balanced %}
|
|
<span class="badge badge-danger badge-pill">
|
|
{{ _("Unbalanced")|force_escape }}
|
|
</span>
|
|
{% endif %}{% if record.has_order_hole %}
|
|
<span class="badge badge-danger badge-pill">
|
|
{{ _("Need Reorder")|force_escape }}
|
|
</span>
|
|
{% endif %}</td>
|
|
<td class="amount">{{ record.credit_amount|accounting_amount }}</td>
|
|
<td class="amount">{{ record.debit_amount|accounting_amount }}</td>
|
|
<td class="amount {% if record.balance < 0 %} text-danger {% endif %}">{{ record.balance|accounting_amount }}</td>
|
|
<td class="actions">
|
|
{% if record.pk is not None %}
|
|
<a href="{% url "accounting:transactions.detail" record.transaction.type record.transaction as url %}{% url_with_return url %}" class="btn btn-info" role="button">
|
|
<i class="fas fa-eye"></i>
|
|
<span class="d-none d-lg-inline">{{ _("View")|force_escape }}</span>
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
{# The list for small screens #}
|
|
<ul class="list-group d-md-none">
|
|
{% for record in record_list %}
|
|
<li class="list-group-item {% if not record.is_balanced or record.has_order_hole %} list-group-item-danger {% endif %}">
|
|
{% if record.pk is not None %}
|
|
<a class="list-group-item-action" href="{% url "accounting:transactions.detail" record.transaction.type record.transaction as url %}{% url_with_return url %}">
|
|
<div class="date-account-line d-flex justify-content-between align-items-center">
|
|
{{ record.transaction.date|smart_date }} {{ record.account.title|title_case }}
|
|
</div>
|
|
<div class="d-flex justify-content-between align-items-center">
|
|
<div>
|
|
{{ record.summary|default:"" }}
|
|
{% if not record.is_balanced %}
|
|
<span class="badge badge-danger badge-pill">
|
|
{{ _("Unbalanced")|force_escape }}
|
|
</span>
|
|
{% endif %}
|
|
{% if record.has_order_hole %}
|
|
<span class="badge badge-danger badge-pill">
|
|
{{ _("Need Reorder")|force_escape }}
|
|
</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div>
|
|
{% if record.credit_amount is not None %}
|
|
<span class="badge badge-success badge-pill">
|
|
{{ record.credit_amount|short_amount }}
|
|
</span>
|
|
{% endif %}
|
|
{% if record.debit_amount is not None %}
|
|
<span class="badge badge-warning badge-pill">
|
|
-{{ record.debit_amount|short_amount }}
|
|
</span>
|
|
{% endif %}
|
|
<span class="badge {% if record.balance < 0 %} badge-danger {% else %} badge-primary {% endif %} badge-pill">
|
|
{{ record.balance|short_amount }}
|
|
</span>
|
|
</div>
|
|
</a>
|
|
{% else %}
|
|
<div class="date-account-line d-flex justify-content-between align-items-center">
|
|
{{ record.transaction.date|smart_date }} {{ record.account.title }}
|
|
</div>
|
|
<div class="d-flex justify-content-between align-items-center">
|
|
<div>{{ record.summary|default:"" }}</div>
|
|
</div>
|
|
<div>
|
|
{% if record.credit_amount is not None %}
|
|
<span class="badge badge-success badge-pill">
|
|
{{ record.credit_amount|short_amount }}
|
|
</span>
|
|
{% endif %}
|
|
{% if record.debit_amount is not None %}
|
|
<span class="badge badge-warning badge-pill">
|
|
-{{ record.debit_amount|short_amount }}
|
|
</span>
|
|
{% endif %}
|
|
<span class="badge {% if record.balance < 0 %} badge-danger {% else %} badge-primary {% endif %} badge-pill">
|
|
{{ record.balance|short_amount }}
|
|
</span>
|
|
</div>
|
|
{% endif %}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
<p>{{ _("There is currently no data.")|force_escape }}</p>
|
|
{% endif %}
|
|
|
|
{% endblock %}
|