haikal/templates/ledger/coa_accounts/account_list.html

148 lines
7.8 KiB
HTML

{% extends "base.html" %}
{% load i18n custom_filters %}
{% block title %}{% trans "Accounts" %}{% endblock title %}
{% block accounts %}
<a class="nav-link active fw-bold">
{% trans "Accounts"|capfirst %}
<span class="visually-hidden">(current)</span>
</a>
{% endblock %}
{% block content %}
<div class="row mt-4">
<div class="d-flex justify-content-between mb-2">
<h3 class=""> {% trans "Accounts" %}<i class="fa-solid fa-book ms-2 text-primary"></i></h3>
{% if perms.django_ledger.add_chartofaccountmodel %}
<a href="{% url 'account_create' request.dealer.slug %}" class="btn btn-md btn-phoenix-primary"><i class="fa fa-plus me-2"></i>{% trans 'New Account' %}</a>
{% endif %}
</div>
<!-- Account Type Tabs -->
<div class="mb-4">
<ul class="nav nav-tabs" id="accountTypeTabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="assets-tab" data-bs-toggle="tab" data-bs-target="#assets" type="button" role="tab" aria-controls="assets" aria-selected="true">
<i class="fas fa-wallet me-2"></i>{% trans "Assets" %}
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="cogs-tab" data-bs-toggle="tab" data-bs-target="#cogs" type="button" role="tab" aria-controls="cogs" aria-selected="false">
<i class="fas fa-boxes me-2"></i>{% trans "COGS" %}
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="capital-tab" data-bs-toggle="tab" data-bs-target="#capital" type="button" role="tab" aria-controls="capital" aria-selected="false">
<i class="fas fa-landmark me-2"></i>{% trans "Capital" %}
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="income-tab" data-bs-toggle="tab" data-bs-target="#income" type="button" role="tab" aria-controls="income" aria-selected="false">
<i class="fas fa-money-bill-wave me-2"></i>{% trans "Income" %}
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="expenses-tab" data-bs-toggle="tab" data-bs-target="#expenses" type="button" role="tab" aria-controls="expenses" aria-selected="false">
<i class="fas fa-receipt me-2"></i>{% trans "Expenses" %}
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="liabilities-tab" data-bs-toggle="tab" data-bs-target="#liabilities" type="button" role="tab" aria-controls="liabilities" aria-selected="false">
<i class="fas fa-receipt me-2"></i>{% trans "Liabilities" %}
</button>
</li>
</ul>
<div class="tab-content p-3 border border-top-0 rounded-bottom" id="accountTypeTabsContent">
<!-- Assets Tab -->
<div class="tab-pane fade show active" id="assets" role="tabpanel" aria-labelledby="assets-tab">
{% include "partials/search_box.html" %}
{% with accounts=accounts|filter_by_role:"asset_" %}
{% include "ledger/coa_accounts/partials/account_table.html" %}
{% endwith %}
</div>
<!-- COGS Tab -->
<div class="tab-pane fade" id="cogs" role="tabpanel" aria-labelledby="cogs-tab">
{% include "partials/search_box.html" %}
{% with accounts=accounts|filter_by_role:"cogs" %}
{% include "ledger/coa_accounts/partials/account_table.html" %}
{% endwith %}
</div>
<!-- Capital Tab -->
<div class="tab-pane fade" id="capital" role="tabpanel" aria-labelledby="capital-tab">
{% include "partials/search_box.html" %}
{% with accounts=accounts|filter_by_role:"eq_" %}
{% include "ledger/coa_accounts/partials/account_table.html" %}
{% endwith %}
</div>
<!-- Income Tab -->
<div class="tab-pane fade" id="income" role="tabpanel" aria-labelledby="income-tab">
{% include "partials/search_box.html" %}
{% with accounts=accounts|filter_by_role:"in_" %}
{% include "ledger/coa_accounts/partials/account_table.html" %}
{% endwith %}
</div>
<!-- Expenses Tab -->
<div class="tab-pane fade" id="expenses" role="tabpanel" aria-labelledby="expenses-tab">
{% include "partials/search_box.html" %}
{% with accounts=accounts|filter_by_role:"ex_" %}
{% include "ledger/coa_accounts/partials/account_table.html" %}
{% endwith %}
</div>
<!-- Liabilities Tab -->
<div class="tab-pane fade" id="liabilities" role="tabpanel" aria-labelledby="liabilities-tab">
{% include "partials/search_box.html" %}
{% with accounts=accounts|filter_by_role:"lia_" %}
{% include "ledger/coa_accounts/partials/account_table.html" %}
{% endwith %}
</div>
</div>
</div>
</div>
<!-- Delete Modal (moved outside tables) -->
<div class="modal fade" id="deleteModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="deleteModalLabel" aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
{% if perms.django_ledger.delete_chartofaccountmodel %}
<h5 class="modal-title" id="deleteModalLabel">
{% trans "Delete Account" %}
<span data-feather="alert-circle"></span>
</h5>
{% endif %}
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body text-center">
<p class="mb-0 text-danger fw-bold">
{% trans "Are you sure you want to delete this Account?" %}
</p>
<div class="d-grid gap-2">
<button type="button" class="btn btn-phoenix-secondary btn-sm" data-bs-dismiss="modal">
{% trans "No" %}
</button>
<a id="deleteAccountBtn" type="button" class="btn btn-phoenix-danger btn-sm" href="#">
{% trans "Yes" %}
</a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block customerJS %}
<script>
// Handle delete modal for all tables
document.addEventListener('DOMContentLoaded', function() {
var deleteModal = document.getElementById('deleteModal');
deleteModal.addEventListener('show.bs.modal', function(event) {
var button = event.relatedTarget;
var accountId = button.closest('tr').getAttribute('data-account-id');
document.getElementById('deleteAccountBtn').href = `/accounts/delete/${accountId}/`;
});
});
</script>
{% endblock %}