feat(Buy): add transaction on buy process.

This commit is contained in:
Mono Mono 2024-08-17 15:07:43 -05:00
parent 7eb8f40d7a
commit 1f37e57e00

View File

@ -1,8 +1,7 @@
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect, JsonResponse from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
from django.template import loader
from django.core.exceptions import ValidationError
from django.views.generic import ListView from django.views.generic import ListView
from django.db import transaction
from .models import Sale, Product, ProductCategory, Payment from .models import Sale, Product, ProductCategory, Payment
from .forms import ImportProductsForm, PurchaseForm, SaleLineFormSet, ReconciliationJarForm, PurchaseSummaryForm from .forms import ImportProductsForm, PurchaseForm, SaleLineFormSet, ReconciliationJarForm, PurchaseSummaryForm
@ -26,6 +25,7 @@ def buy(request):
sale_summary_form.is_valid() sale_summary_form.is_valid()
]) ])
if forms_are_valid: if forms_are_valid:
with transaction.atomic():
sale = sale_form.save() sale = sale_form.save()
line_formset.instance = sale line_formset.instance = sale
line_formset.save() line_formset.save()