fix: taxes on cart detail

This commit is contained in:
2025-01-15 17:35:30 +01:00
parent edce4d6d59
commit 1a518a36d5
5 changed files with 17 additions and 5 deletions
+4 -1
View File
@@ -66,7 +66,10 @@ MIDDLEWARE = DJANGO_MIDDLEWARE + PROJECT_MIDDLEWARE
if DEBUG:
INSTALLED_APPS += ["silk"]
MIDDLEWARE += ["silk.middleware.SilkyMiddleware", "django_browser_reload.middleware.BrowserReloadMiddleware",]
MIDDLEWARE += [
"silk.middleware.SilkyMiddleware",
"django_browser_reload.middleware.BrowserReloadMiddleware",
]
ROOT_URLCONF = "config.urls"
+4 -1
View File
@@ -16,4 +16,7 @@ urlpatterns = [
if settings.DEBUG:
urlpatterns.append(path("__debug__/", include(debug_toolbar.urls)))
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += [path("silk/", include("silk.urls")), path("__reload__/", include("django_browser_reload.urls")),]
urlpatterns += [
path("silk/", include("silk.urls")),
path("__reload__/", include("django_browser_reload.urls")),
]
+3 -1
View File
@@ -87,7 +87,9 @@ def cart(request, *args, **kwargs):
for item in items:
price = ProductPrice.objects.filter(product=item.product, current=True).first()
base_total += price.price * item.quantity
tax_total += round(price.price * Decimal(price.tax.value / 100), 2)
tax_total += round(
price.price * Decimal(price.tax.value / 100) * item.quantity, 2
)
total = base_total + tax_total
+5 -1
View File
@@ -166,8 +166,10 @@ class OrderDetail(TemplateView):
order=order,
product__is_shipping_method=False,
).aggregate(amount=Sum("taxes")).get("amount") or Decimal("0")
settings = WebSettings.load()
return {
"web_title": settings.web_title,
"order": order,
"items": items,
"signature_version": parameters.get("Ds_SignatureVersion"),
@@ -197,7 +199,9 @@ class OrdersView(TemplateView, FilteredQuerysetMixin, PaginatedQuerysetMixin):
template_name = "web/orders.html"
def get_queryset(self):
return Order.objects.filter(user=self.request.user).exclude(status=Order.Statuses.STATUS_PENDING)
return Order.objects.filter(user=self.request.user).exclude(
status=Order.Statuses.STATUS_PENDING
)
def get_context_data(self, **kwargs):
settings = WebSettings.load()