From 065d3a3c51d86a8559ec03bc3f7e88fcc879729c Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Sat, 12 Mar 2022 12:46:44 +0100 Subject: [PATCH] Move status icon to Invoice model --- aleksis/apps/tezor/models/invoice.py | 14 +++++++++++++- .../apps/tezor/templates/tezor/invoice/full.html | 12 +----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/aleksis/apps/tezor/models/invoice.py b/aleksis/apps/tezor/models/invoice.py index 1ed1fa8..3ea79e3 100644 --- a/aleksis/apps/tezor/models/invoice.py +++ b/aleksis/apps/tezor/models/invoice.py @@ -6,7 +6,7 @@ from django.shortcuts import reverse from django.utils.translation import gettext_lazy as _ from djmoney.models.fields import CurrencyField, MoneyField -from payments import PurchasedItem +from payments import PaymentStatus, PurchasedItem from payments.models import BasePayment from aleksis.core.mixins import ExtensibleModel, PureDjangoModel @@ -40,6 +40,15 @@ class Invoice(BasePayment, PureDjangoModel): "pledge": (_("Payment pledge / manual payment"), "mdi:hand-coin"), "sdd": (_("SEPA Direct Debit"), "mdi:bank-transfer"), } + STATUS_ICONS = { + PaymentStatus.WAITING: "mdi:cash-lock-open", + PaymentStatus.INPUT: "mdi:cash-lock-open", + PaymentStatus.PREAUTH: "mdi:cash-lock", + PaymentStatus.CONFIRMED: "mdi:cash-check", + PaymentStatus.REFUNDED: "mdi:cash-refund", + PaymentStatus.REJECTED: "mdi:cash-remove", + PaymentStatus.ERROR: "mdi:cash-remove", + } group = models.ForeignKey( InvoiceGroup, verbose_name=_("Invoice group"), related_name="invoices", on_delete=models.SET_NULL, null=True @@ -64,6 +73,9 @@ class Invoice(BasePayment, PureDjangoModel): def get_variant_icon(self): return self.__class__.VARIANT_DISPLAY[self.variant][1] + def get_status_icon(self): + return self.__class__.STATUS_ICONS[self.status] + def get_purchased_items(self): return self.for_object.get_purchased_items() diff --git a/aleksis/apps/tezor/templates/tezor/invoice/full.html b/aleksis/apps/tezor/templates/tezor/invoice/full.html index e51b62f..2e0d735 100644 --- a/aleksis/apps/tezor/templates/tezor/invoice/full.html +++ b/aleksis/apps/tezor/templates/tezor/invoice/full.html @@ -72,17 +72,7 @@ </tr> <tr> <td> - {% if object.status == "waiting" or object.status == "input" %} - <i class="material-icons iconify" data-icon="mdi:cash-lock-open"></i> - {% elif object.status == "rejected" or object.status == "error" %} - <i class="material-icons iconify" data-icon="mdi:cash-remove"></i> - {% elif object.status == "preauth" %} - <i class="material-icons iconify" data-icon="mdi:cash-lock"></i> - {% elif object.status == "confirmed" %} - <i class="material-icons iconify" data-icon="mdi:cash-check"></i> - {% elif object.status == "refunded" %} - <i class="material-icons iconify" data-icon="mdi:cash-refund"></i> - {% endif %} + <i class="material-icons iconify" data-icon="object.get_status_icon"></i> </td> <td> {{ object.get_status_display }} -- GitLab