Commit 3501703c authored by Sli's avatar Sli

eboutic: don't display future account balance if contains refilling item

parent 129f2e53
Pipeline #2133 passed with stage
in 31 minutes and 47 seconds
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
from django.db import models, DataError from django.db import models, DataError
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.utils.functional import cached_property
from django.conf import settings from django.conf import settings
from accounting.models import CurrencyField from accounting.models import CurrencyField
...@@ -68,6 +69,12 @@ class Basket(models.Model): ...@@ -68,6 +69,12 @@ class Basket(models.Model):
if item.quantity <= 0: if item.quantity <= 0:
item.delete() item.delete()
@cached_property
def contains_refilling_item(self):
return self.items.filter(
type_id=settings.SITH_COUNTER_PRODUCTTYPE_REFILLING
).exists()
def get_total(self): def get_total(self):
total = 0 total = 0
for i in self.items.all(): for i in self.items.all():
......
...@@ -35,10 +35,13 @@ ...@@ -35,10 +35,13 @@
<strong>{% trans %}Basket amount: {% endtrans %}{{ "%0.2f"|format(basket.get_total()) }}</strong> <strong>{% trans %}Basket amount: {% endtrans %}{{ "%0.2f"|format(basket.get_total()) }}</strong>
{% if customer_amount != None %} {% if customer_amount != None %}
<br> <br>
{% trans %}Current account amount: {% endtrans %}<strong>{{ "%0.2f"|format(customer_amount) }}</strong> {% trans %}Current account amount: {% endtrans %}<strong>{{ "%0.2f"|format(customer_amount) }}</strong>
<br>
{% trans %}Remaining account amount: {% endtrans %}<strong>{{ "%0.2f"|format(customer_amount - basket.get_total()) }}</strong> {% if not basket.contains_refilling_item %}
<br>
{% trans %}Remaining account amount: {% endtrans %}<strong>{{ "%0.2f"|format(customer_amount - basket.get_total()) }}</strong>
{% endif %}
{% endif %} {% endif %}
</p> </p>
......
...@@ -32,10 +32,13 @@ ...@@ -32,10 +32,13 @@
<strong>{% trans %}Basket amount: {% endtrans %}{{ "%0.2f"|format(basket.get_total()) }}</strong> <strong>{% trans %}Basket amount: {% endtrans %}{{ "%0.2f"|format(basket.get_total()) }}</strong>
{% if customer_amount != None %} {% if customer_amount != None %}
<br> <br>
{% trans %}Current account amount: {% endtrans %}<strong>{{ "%0.2f"|format(customer_amount) }}</strong> {% trans %}Current account amount: {% endtrans %}<strong>{{ "%0.2f"|format(customer_amount) }}</strong>
<br>
{% trans %}Remaining account amount: {% endtrans %}<strong>{{ "%0.2f"|format(customer_amount - basket.get_total()) }}</strong> {% if not basket.contains_refilling_item %}
<br>
{% trans %}Remaining account amount: {% endtrans %}<strong>{{ "%0.2f"|format(customer_amount - basket.get_total()) }}</strong>
{% endif %}
{% endif %} {% endif %}
</p> </p>
{% if settings.SITH_EBOUTIC_CB_ENABLED %} {% if settings.SITH_EBOUTIC_CB_ENABLED %}
...@@ -48,7 +51,7 @@ ...@@ -48,7 +51,7 @@
</p> </p>
</form> </form>
{% endif %} {% endif %}
{% if basket.items.filter(type_id=settings.SITH_COUNTER_PRODUCTTYPE_REFILLING).exists() %} {% if basket.contains_refilling_item %}
<p>{% trans %}AE account payment disabled because your basket contains refilling items.{% endtrans %}</p> <p>{% trans %}AE account payment disabled because your basket contains refilling items.{% endtrans %}</p>
{% else %} {% else %}
<form method="post" action="{{ url('eboutic:pay_with_sith') }}"> <form method="post" action="{{ url('eboutic:pay_with_sith') }}">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment