From 45ed53b0857eae67373ac61a76c21c09082fd60b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Fri, 7 Aug 2020 10:11:09 +0800 Subject: [PATCH] Added the account list view in the accounting application. --- .../templates/accounting/accounts/index.html | 89 +++++++++++++++++++ accounting/views.py | 10 ++- 2 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 accounting/templates/accounting/accounts/index.html diff --git a/accounting/templates/accounting/accounts/index.html b/accounting/templates/accounting/accounts/index.html new file mode 100644 index 0000000..aa6f07b --- /dev/null +++ b/accounting/templates/accounting/accounts/index.html @@ -0,0 +1,89 @@ +{% extends "base.html" %} +{% comment %} +The Mia Accounting Application +index.html: The template for the 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 %} + {% setvar "title" _("Accounts") %} + {% setvar "use_datatables" True %} +{% endblock %} + +{% block content %} + +
+ + + {{ _("New")|force_escape }} + + {% report_url as reports %} + {% with current_report_icon="fas fa-list-ol" current_report_title=_("Accounts") %} + {% include "accounting/include/report-chooser.html" %} + {% endwith %} +
+ +{% if object_list %} + + + + + + + + + + {% for object in object_list %} + + + + + + {% endfor %} + +
{{ _("Code")|force_escape }}{{ _("Title")|force_escape }}{{ _("View")|force_escape }}
{{ object.code }} + {{ object.title }} + {% if object.is_parent_and_in_use %} + + {{ _("Parent Account In Use")|force_escape }} + + {% endif %} + + + + {{ _("View")|force_escape }} + +
+{% else %} +

{{ _("There is currently no data.")|force_escape }}

+{% endif %} + + + +{% endblock %} diff --git a/accounting/views.py b/accounting/views.py index 2841e72..2ad8ec9 100644 --- a/accounting/views.py +++ b/accounting/views.py @@ -33,7 +33,7 @@ from django.utils import timezone from django.utils.decorators import method_decorator from django.utils.translation import gettext as _, gettext_noop from django.views.decorators.http import require_GET, require_POST -from django.views.generic import RedirectView +from django.views.generic import RedirectView, ListView from mia_core.digest_auth import login_required from mia_core.period import Period @@ -1051,6 +1051,14 @@ def txn_sort(request, date): return success_redirect(request, url, message) +@method_decorator(require_GET, name="dispatch") +@method_decorator(login_required, name="dispatch") +class AccountListView(ListView): + """The view to list the accounts.""" + queryset = Account.objects.order_by("code") + template_name = "accounting/accounts/index.html" + + @require_GET @login_required def account_options(request):