Fix: Clean Home, Crear lineas de Venta

This commit is contained in:
2024-07-12 22:00:37 -05:00
parent 7b0bee8313
commit 7223c0c9a9
6 changed files with 27 additions and 14 deletions

View File

@@ -1,6 +1,6 @@
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
from django.template import loader
from django.http import HttpResponseRedirect, JsonResponse
# from django.template import loader
from .models import Sale, Product, ProductCategory
from .forms import ImportProductsForm, PurchaseForm, LineaFormSet
@@ -8,18 +8,22 @@ from .forms import ImportProductsForm, PurchaseForm, LineaFormSet
import csv
import io
def index(request):
return render(request, 'don_confiao/index.html')
def buy(request):
if request.method == "POST":
sale_form = PurchaseForm(request.POST)
sale_linea_form = LineaFormSet(request.POST)
if sale_form.is_valid():
sale_form.save()
if sale_linea_form.is_valid():
sale_linea_form.save()
return HttpResponseRedirect("productos")
if sale_form.is_valid() and sale_linea_form.is_valid():
sale = sale_form.save()
lines = sale_linea_form.save(commit=False)
for line in lines:
line.sale = sale
line.save()
return HttpResponseRedirect("compras")
else:
sale_form = PurchaseForm()
sale_linea_form = LineaFormSet()
@@ -32,6 +36,7 @@ def buy(request):
}
)
def purchases(request):
purchases = Sale.objects.all()
context = {
@@ -69,14 +74,17 @@ def import_products(request):
{'form': form}
)
def _categories_from_csv_string(categories_string, separator="&"):
categories = categories_string.split(separator)
clean_categories = [c.strip() for c in categories]
return [_category_from_name(category) for category in clean_categories]
def _category_from_name(name):
return ProductCategory.objects.get_or_create(name=name)[0]
def handle_import_products_file(csv_file):
data = io.StringIO(csv_file.read().decode('utf-8'))
reader = csv.DictReader(data, quotechar='"')