feat(Buy): add transaction on buy process.
This commit is contained in:
		@@ -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()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user