From baae6bb96a32d2d39360d2043864767e4acfa2fa Mon Sep 17 00:00:00 2001 From: Herculino Trotta Date: Sun, 5 Jan 2025 01:43:24 -0300 Subject: [PATCH] feat(entities): add tab to show archived entities --- app/apps/transactions/urls.py | 10 ++++ app/apps/transactions/views/entities.py | 26 +++++++++- app/templates/entities/fragments/list.html | 55 +++++---------------- app/templates/entities/fragments/table.html | 55 +++++++++++++++++++++ app/templates/entities/pages/index.html | 2 +- 5 files changed, 102 insertions(+), 46 deletions(-) create mode 100644 app/templates/entities/fragments/table.html diff --git a/app/apps/transactions/urls.py b/app/apps/transactions/urls.py index 6c1c4b8..844adad 100644 --- a/app/apps/transactions/urls.py +++ b/app/apps/transactions/urls.py @@ -68,6 +68,16 @@ urlpatterns = [ ), path("entities/", views.entities_index, name="entities_index"), path("entities/list/", views.entities_list, name="entities_list"), + path( + "entities/table/active/", + views.entities_table_active, + name="entities_table_active", + ), + path( + "entities/table/archived/", + views.entities_table_archived, + name="entities_table_archived", + ), path("entities/add/", views.entity_add, name="entity_add"), path( "entities//edit/", diff --git a/app/apps/transactions/views/entities.py b/app/apps/transactions/views/entities.py index 2faed7a..8252642 100644 --- a/app/apps/transactions/views/entities.py +++ b/app/apps/transactions/views/entities.py @@ -24,11 +24,33 @@ def entities_index(request): @login_required @require_http_methods(["GET"]) def entities_list(request): - entities = TransactionEntity.objects.all().order_by("id") return render( request, "entities/fragments/list.html", - {"entities": entities}, + ) + + +@only_htmx +@login_required +@require_http_methods(["GET"]) +def entities_table_active(request): + entities = TransactionEntity.objects.filter(active=True).order_by("id") + return render( + request, + "entities/fragments/table.html", + {"entities": entities, "active": True}, + ) + + +@only_htmx +@login_required +@require_http_methods(["GET"]) +def entities_table_archived(request): + entities = TransactionEntity.objects.filter(active=False).order_by("id") + return render( + request, + "entities/fragments/table.html", + {"entities": entities, "active": False}, ) diff --git a/app/templates/entities/fragments/list.html b/app/templates/entities/fragments/list.html index 0c0c5ca..6ad2c76 100644 --- a/app/templates/entities/fragments/list.html +++ b/app/templates/entities/fragments/list.html @@ -15,49 +15,18 @@
-
- {% if entities %} - - - - - - - - - - {% for entity in entities %} - - - - - {% endfor %} - -
{% translate 'Name' %}
-
- - - -
-
{{ entity.name }}
- {% else %} - - {% endif %} +
+ +
+
+
diff --git a/app/templates/entities/fragments/table.html b/app/templates/entities/fragments/table.html new file mode 100644 index 0000000..ea43d30 --- /dev/null +++ b/app/templates/entities/fragments/table.html @@ -0,0 +1,55 @@ +{% load i18n %} +{% if active %} +
+{% else %} +
+{% endif %} + {% if entities %} +
+ + + + + + + + + + {% for entity in entities %} + + + + + {% endfor %} + +
{% translate 'Name' %}
+
+ + + +
+
{{ entity.name }}
+
+ {% else %} + + {% endif %} +
diff --git a/app/templates/entities/pages/index.html b/app/templates/entities/pages/index.html index cff23d2..9db5088 100644 --- a/app/templates/entities/pages/index.html +++ b/app/templates/entities/pages/index.html @@ -4,5 +4,5 @@ {% block title %}{% translate 'Entities' %}{% endblock %} {% block content %} -
+
{% endblock %}