231 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			231 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends "base.html" %}
 | 
						|
{% comment %}
 | 
						|
The Mia Accounting Application
 | 
						|
ledger.html: The template for the ledger reports
 | 
						|
 | 
						|
 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/16
 | 
						|
{% endcomment %}
 | 
						|
{% load static %}
 | 
						|
{% load i18n %}
 | 
						|
{% load humanize %}
 | 
						|
{% load mia_core %}
 | 
						|
{% load accounting %}
 | 
						|
 | 
						|
{% block settings %}
 | 
						|
  {% blocktrans asvar title with account=account.title|title period=period.description context "Accounting|" %}Ledger for {{ account }} in {{ 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_with_return "accounting:transactions.create" "expense" %}">
 | 
						|
        {% trans "Cash Expense" context "Accounting|" as text %}
 | 
						|
        {{ text|force_escape }}
 | 
						|
      </a>
 | 
						|
      <a class="dropdown-item" href="{% url_with_return "accounting:transactions.create" "income" %}">
 | 
						|
        {% trans "Cash Income" context "Accounting|" as text %}
 | 
						|
        {{ text|force_escape }}
 | 
						|
      </a>
 | 
						|
      <a class="dropdown-item" href="{% url_with_return "accounting:transactions.create" "transfer" %}">
 | 
						|
        {% trans "Transfer" context "Accounting|" as text %}
 | 
						|
        {{ text|force_escape }}
 | 
						|
      </a>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
  {% with current_report_icon="fas fa-file-invoice-dollar" %}
 | 
						|
    {% trans "Ledger" context "Accounting|" as current_report_title %}
 | 
						|
    {% 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">{{ account.title|title }}</span>
 | 
						|
      <span class="d-md-none">{% trans "Account" context "Accounting|" as text %}{{ text|force_escape }}</span>
 | 
						|
    </button>
 | 
						|
    <div class="dropdown-menu account-picker">
 | 
						|
      {% for x in accounts %}
 | 
						|
        <a class="dropdown-item {% if x.code == account.code %} active {% endif %}" href="{% url "accounting:ledger" x period %}">
 | 
						|
          {{ x.code }} {{ x.title|title }}
 | 
						|
        </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">{{ period.description }}</span>
 | 
						|
    <span class="d-md-none">{% trans "Period" context "Period|" as text %}{{ text|force_escape }}</span>
 | 
						|
  </button>
 | 
						|
</div>
 | 
						|
 | 
						|
{% include "mia_core/include/period-chooser.html" %}
 | 
						|
 | 
						|
{% if item_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">{% trans "Date" context "Accounting|" as text %}{{ text|force_escape }}</th>
 | 
						|
        <th scope="col">{% trans "Account" context "Accounting|" as text %}{{ text|force_escape }}</th>
 | 
						|
        <th scope="col">{% trans "Summary" context "Accounting|" as text %}{{ text|force_escape }}</th>
 | 
						|
        <th class="amount" scope="col">{% trans "Debit" context "Accounting|" as text %}{{ text|force_escape }}</th>
 | 
						|
        <th class="amount" scope="col">{% trans "Credit" context "Accounting|" as text %}{{ text|force_escape }}</th>
 | 
						|
        <th class="amount" scope="col">{% trans "Balance" context "Accounting|" as text %}{{ text|force_escape }}</th>
 | 
						|
        <th class="actions" scope="col">{% trans "View" context "Accounting|" as text %}{{ text|force_escape }}</th>
 | 
						|
      </tr>
 | 
						|
    </thead>
 | 
						|
    <tbody>
 | 
						|
      {% for item in item_list %}
 | 
						|
        <tr class="{% if not item.is_balanced or item.has_order_hole or not item.is_credit_card_paid %} table-danger {% endif %}{% if item.is_existing_equipment %} table-info {% endif %}">
 | 
						|
          <td>{{ item.transaction.date|smart_date }}</td>
 | 
						|
          <td>{{ item.account.title|title }}</td>
 | 
						|
          <td>{{ item.summary|default:"" }}{% if not item.is_balanced %}
 | 
						|
            <span class="badge badge-danger badge-pill">
 | 
						|
              {% trans "Unbalanced" context "Accounting|" as text %}
 | 
						|
              {{ text|force_escape }}
 | 
						|
            </span>
 | 
						|
          {% endif %}{% if item.has_order_hole %}
 | 
						|
            <span class="badge badge-danger badge-pill">
 | 
						|
              {% trans "Need Reorder" context "Accounting|" as text %}
 | 
						|
              {{ text|force_escape }}
 | 
						|
            </span>
 | 
						|
          {% endif %}{% if not item.is_credit_card_paid %}
 | 
						|
            <span class="badge badge-danger badge-pill">
 | 
						|
              {% trans "Unpaid" context "Accounting|" as text %}
 | 
						|
              {{ text|force_escape }}
 | 
						|
            </span>
 | 
						|
          {% endif %}{% if item.is_existing_equipment %}
 | 
						|
            <span class="badge badge-info badge-pill">
 | 
						|
              {% trans "Existing" context "Accounting|" as text %}
 | 
						|
              {{ text|force_escape }}
 | 
						|
            </span>
 | 
						|
          {% endif %}</td>
 | 
						|
          <td class="amount">{{ item.debit_amount|accounting_amount }}</td>
 | 
						|
          <td class="amount">{{ item.credit_amount|accounting_amount }}</td>
 | 
						|
          <td class="amount {% if item.balance < 0 %} text-danger {% endif %}">{{ item.balance|accounting_amount }}</td>
 | 
						|
          <td class="actions">
 | 
						|
            {% if item.pk is not None %}
 | 
						|
              <a href="{% url_with_return "accounting:transactions.show" item.transaction.type item.transaction %}" class="btn btn-info" role="button">
 | 
						|
                <i class="fas fa-eye"></i>
 | 
						|
                <span class="d-none d-lg-inline">{% trans "View" context "Accounting|" as text %}{{ text|force_escape }}</span>
 | 
						|
              </a>
 | 
						|
            {% endif %}
 | 
						|
          </td>
 | 
						|
        </tr>
 | 
						|
      {% endfor %}
 | 
						|
    </tbody>
 | 
						|
  </table>
 | 
						|
 | 
						|
  {# The list for small screens #}
 | 
						|
  <ul class="list-group d-md-none">
 | 
						|
    {% for item in item_list %}
 | 
						|
      <li class="list-group-item {% if not item.is_balanced or item.has_order_hole or not item.is_credit_card_paid %} list-group-item-danger {% endif %}{% if item.is_existing_equipment %} list-group-item-info {% endif %}">
 | 
						|
        {% if item.pk is not None %}
 | 
						|
          <a class="list-group-item-action" href="{% url_with_return "accounting:transactions.show" item.transaction.type item.transaction %}">
 | 
						|
            <div class="date-account-line">
 | 
						|
              {{ item.transaction.date|smart_date }} {{ item.account.title|title }}
 | 
						|
            </div>
 | 
						|
            <div class="d-flex justify-content-between align-items-center">
 | 
						|
              <div>
 | 
						|
                {{ item.summary|default:"" }}
 | 
						|
                {% if not item.is_balanced %}
 | 
						|
                  <span class="badge badge-danger badge-pill">
 | 
						|
                    {% trans "Unbalanced" context "Accounting|" as text %}
 | 
						|
                    {{ text|force_escape }}
 | 
						|
                  </span>
 | 
						|
                {% endif %}
 | 
						|
                {% if item.has_order_hole %}
 | 
						|
                  <span class="badge badge-danger badge-pill">
 | 
						|
                    {% trans "Need Reorder" context "Accounting|" as text %}
 | 
						|
                    {{ text|force_escape }}
 | 
						|
                  </span>
 | 
						|
                {% endif %}
 | 
						|
                {% if not item.is_credit_card_paid %}
 | 
						|
                  <span class="badge badge-danger badge-pill">
 | 
						|
                    {% trans "Unpaid" context "Accounting|" as text %}
 | 
						|
                    {{ text|force_escape }}
 | 
						|
                  </span>
 | 
						|
                {% endif %}
 | 
						|
                {% if item.is_existing_equipment %}
 | 
						|
                  <span class="badge badge-info badge-pill">
 | 
						|
                    {% trans "Existing" context "Accounting|" as text %}
 | 
						|
                    {{ text|force_escape }}
 | 
						|
                  </span>
 | 
						|
                {% endif %}
 | 
						|
              </div>
 | 
						|
              <div>
 | 
						|
                {% if item.debit_amount is not None %}
 | 
						|
                  <span class="badge badge-success badge-pill">
 | 
						|
                    {{ item.debit_amount|intcomma:False }}
 | 
						|
                  </span>
 | 
						|
                {% endif %}
 | 
						|
                {% if item.credit_amount is not None %}
 | 
						|
                  <span class="badge badge-warning badge-pill">
 | 
						|
                    {{ item.credit_amount|intcomma:False }}
 | 
						|
                  </span>
 | 
						|
                {% endif %}
 | 
						|
                <span class="badge {% if item.balance < 0 %} badge-danger {% else %} badge-primary {% endif %} badge-pill">
 | 
						|
                  {{ item.balance|intcomma:False }}
 | 
						|
                </span>
 | 
						|
              </div>
 | 
						|
            </div>
 | 
						|
          </a>
 | 
						|
        {% else %}
 | 
						|
          <div class="date-account-line">
 | 
						|
            {{ item.transaction.date|smart_date }} {{ item.account.title|title }}
 | 
						|
          </div>
 | 
						|
          <div class="d-flex justify-content-between align-items-center">
 | 
						|
            <div>
 | 
						|
              {{ item.summary|default:"" }}
 | 
						|
            </div>
 | 
						|
            <div>
 | 
						|
              {% if item.debit_amount is not None %}
 | 
						|
                <span class="badge badge-success badge-pill">
 | 
						|
                  {{ item.debit_amount|intcomma:False }}
 | 
						|
                </span>
 | 
						|
              {% endif %}
 | 
						|
              {% if item.credit_amount is not None %}
 | 
						|
                <span class="badge badge-warning badge-pill">
 | 
						|
                  {{ item.credit_amount|intcomma:False }}
 | 
						|
                </span>
 | 
						|
              {% endif %}
 | 
						|
              <span class="badge {% if item.balance < 0 %} badge-danger {% else %} badge-primary {% endif %} badge-pill">
 | 
						|
                {{ item.balance|intcomma:False }}
 | 
						|
              </span>
 | 
						|
            </div>
 | 
						|
          </div>
 | 
						|
        {% endif %}
 | 
						|
      </li>
 | 
						|
    {% endfor %}
 | 
						|
  </ul>
 | 
						|
{% else %}
 | 
						|
  <p>{{ _("There is currently no data.")|force_escape }}</p>
 | 
						|
{% endif %}
 | 
						|
 | 
						|
{% endblock %}
 |