Add summed nb of ordered items of each article in a grouped order

This commit is contained in:
xmeunier 2024-10-18 13:06:27 +02:00 committed by Laetitia Getti
parent dacafb8c70
commit 34d2db8623
4 changed files with 9 additions and 1 deletions

View file

@ -63,6 +63,12 @@ class GroupedOrder(models.Model):
for item in self.item_set.all():
item.compute_ordered_nb()
def get_total_ordered_items(self):
total_nb = 0
for item in self.item_set.all():
total_nb += item.ordered_nb
return total_nb
def is_open(self):
return self.deadline >= timezone.now()

View file

@ -126,7 +126,7 @@
<tfoot>
<th>Total</th>
<th></th>
<th></th>
<th>{{ total_ordered_items }}</th>
<th>{{ grouped_order.total_price }} €</th>
</tfoot>
</table>

View file

@ -167,6 +167,7 @@ class GroupedOrderOverview(UserIsOrgaMixin, generic.DetailView):
order__in=self.get_object().order_set.all()
)
context["emails_list"] = set(participant.email for participant in participants)
context["total_ordered_items"] = self.get_object().get_total_ordered_items()
return context

View file

@ -706,6 +706,7 @@ class TestGroupedOrderOverview:
assert response.status_code == 200
assert "test item" in response.content.decode()
assert {"test@mail.fr"} == response.context["emails_list"]
assert 4 == response.context["total_ordered_items"]
assert "gr order test" in response.content.decode()
item.refresh_from_db()
assert item.get_total_price() == 8