diff --git a/tienda_ilusion/don_confiao/forms.py b/tienda_ilusion/don_confiao/forms.py index a9ef913..4db321a 100644 --- a/tienda_ilusion/don_confiao/forms.py +++ b/tienda_ilusion/don_confiao/forms.py @@ -1,4 +1,39 @@ from django import forms +from django.forms.widgets import DateInput + +from .models import Sale, SaleLine + class ImportProductsForm(forms.Form): csv_file = forms.FileField() + +class PurchaseForm(forms.ModelForm): + class Meta: + model = Sale + fields = [ + "customer", + "date", + "phone", + "description", + ] + widgets = { + 'date': DateInput(attrs={'type': 'date'}) + } + +class PurchaseLineForm(forms.ModelForm): + class Meta: + model = SaleLine + fields = [ + "product", + "quantity", + "unit_price", + "description", + ] + + +LineaFormSet = forms.models.inlineformset_factory( + Sale, + SaleLine, + extra=2, + fields='__all__' +) diff --git a/tienda_ilusion/don_confiao/templates/don_confiao/django_purchase.html b/tienda_ilusion/don_confiao/templates/don_confiao/django_purchase.html new file mode 100644 index 0000000..0d2c2f4 --- /dev/null +++ b/tienda_ilusion/don_confiao/templates/don_confiao/django_purchase.html @@ -0,0 +1,12 @@ + +
diff --git a/tienda_ilusion/don_confiao/urls.py b/tienda_ilusion/don_confiao/urls.py index a9b716f..27b7915 100644 --- a/tienda_ilusion/don_confiao/urls.py +++ b/tienda_ilusion/don_confiao/urls.py @@ -6,6 +6,7 @@ app_name = 'don_confiao' urlpatterns = [ path("", views.index, name="wellcome"), path("comprar", views.buy, name="buy"), + path("comprar_django", views.django_buy, name="django_buy"), path("compras", views.purchases, name="purchases"), path("productos", views.products, name="products"), path("importar_productos", views.import_products, name="import_products") diff --git a/tienda_ilusion/don_confiao/views.py b/tienda_ilusion/don_confiao/views.py index 671a934..434146b 100644 --- a/tienda_ilusion/don_confiao/views.py +++ b/tienda_ilusion/don_confiao/views.py @@ -3,7 +3,7 @@ from django.http import HttpResponse, HttpResponseRedirect, JsonResponse from django.template import loader from .models import Sale, Product, ProductCategory -from .forms import ImportProductsForm +from .forms import ImportProductsForm, PurchaseForm, LineaFormSet import csv import io @@ -16,11 +16,23 @@ def buy(request): context = {} if request.POST: raise Exception(request.POST) - else: - raise Exception(request.POST) return render( request, 'don_confiao/purchase.html', context) +def django_buy(request): + if request.method == "POST": + raise Exception(request.POST) + else: + sale_form = PurchaseForm() + sale_linea_form = LineaFormSet() + return render( + request, + 'don_confiao/django_purchase.html', + { + 'sale_form': sale_form, + 'linea_formset': sale_linea_form + } + ) def purchases(request): purchases = Sale.objects.all()