diff --git a/kfet/templates/kfet/inventory_read.html b/kfet/templates/kfet/inventory_read.html
index 9a9275f8..0d98e2d8 100644
--- a/kfet/templates/kfet/inventory_read.html
+++ b/kfet/templates/kfet/inventory_read.html
@@ -48,30 +48,38 @@
Stock avant |
Stock après |
Erreur |
+ Valeur |
- {% regroup inventoryarts by article.category as category_list %}
+ {% regroup inventoryarts by article.category.name as category_list %}
{% for category in category_list %}
- {{ category.grouper.name }} |
+ {{ category.grouper }} |
{% for inventoryart in category.list %}
-
+
{{ inventoryart.article.name }}
|
{{ inventoryart.stock_old }} |
{{ inventoryart.stock_new }} |
{{ inventoryart.stock_error }} |
+ {{ inventoryart.amount_new }} |
{% endfor %}
{% endfor %}
+
+
+ Total |
+ {{ total_amount }} |
+
+
diff --git a/kfet/views.py b/kfet/views.py
index 569e42a5..fdfb1b0d 100644
--- a/kfet/views.py
+++ b/kfet/views.py
@@ -14,7 +14,18 @@ from django.contrib.auth.models import Permission, User
from django.contrib.messages.views import SuccessMessageMixin
from django.core.exceptions import SuspiciousOperation
from django.db import transaction
-from django.db.models import Count, F, Max, OuterRef, Prefetch, Q, Subquery, Sum
+from django.db.models import (
+ Count,
+ DecimalField,
+ ExpressionWrapper,
+ F,
+ Max,
+ OuterRef,
+ Prefetch,
+ Q,
+ Subquery,
+ Sum,
+)
from django.forms import ValidationError, formset_factory
from django.http import (
Http404,
@@ -2013,12 +2024,23 @@ class InventoryRead(DetailView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
- inventoryarticles = (
+ inventory_articles = (
InventoryArticle.objects.select_related("article", "article__category")
.filter(inventory=self.object)
+ .annotate(
+ amount_new=ExpressionWrapper(
+ F("stock_new") * F("article__price"),
+ output_field=DecimalField(
+ max_digits=6, decimal_places=2, default=0
+ ),
+ )
+ )
.order_by("article__category__name", "article__name")
)
- context["inventoryarts"] = inventoryarticles
+ context["inventoryarts"] = inventory_articles
+ context["total_amount"] = inventory_articles.aggregate(total=Sum("amount_new"))[
+ "total"
+ ]
return context