diff --git a/tienda_ilusion/don_confiao/models.py b/tienda_ilusion/don_confiao/models.py index 71772d1..1c50852 100644 --- a/tienda_ilusion/don_confiao/models.py +++ b/tienda_ilusion/don_confiao/models.py @@ -37,6 +37,21 @@ class Product(models.Model): def __str__(self): return self.name + @classmethod + def to_list(cls): + products_list = [] + all_products = cls.objects.all() + for product in all_products: + rproduct = { + "id": product.id, + "name": product.name, + "price_list": product.price, + "uom": product.measuring_unit, + "categories": [c.name for c in product.categories.all()] + } + products_list.append(rproduct) + return products_list + class Sale(models.Model): customer = models.ForeignKey(Customer, on_delete=models.PROTECT) diff --git a/tienda_ilusion/don_confiao/static/js/add_line.js b/tienda_ilusion/don_confiao/static/js/add_line.js index 4f6bc25..ab448ff 100644 --- a/tienda_ilusion/don_confiao/static/js/add_line.js +++ b/tienda_ilusion/don_confiao/static/js/add_line.js @@ -25,5 +25,6 @@ document.addEventListener('DOMContentLoaded', function(){ formContainer.appendChild(newForm); totalForms.value = formCount + 1; + setPriceListeners(); }); }); diff --git a/tienda_ilusion/don_confiao/static/js/buy_general.js b/tienda_ilusion/don_confiao/static/js/buy_general.js new file mode 100644 index 0000000..db2a719 --- /dev/null +++ b/tienda_ilusion/don_confiao/static/js/buy_general.js @@ -0,0 +1,22 @@ +setPriceListeners(); + +function setPriceListeners() { + document.querySelectorAll('select[id^="id_saleline_set-"][id$="-product"]').forEach((input) => { + input.addEventListener('change', (e) => setLinePrice(e)); + }); +} + +function setLinePrice(e) { + let input = e.target; + const idLine = input.id.split('-')[1]; + const productId = input.value; + const priceInput = document.getElementById(`id_saleline_set-${idLine}-unit_price`); + + const product = listProducts.find((product) => product.id == productId); + if (product) { + priceInput.value = product.price_list; + } else { + priceInput.value = ''; + } +} + diff --git a/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html b/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html index b6c8598..359ae76 100644 --- a/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html +++ b/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html @@ -1,6 +1,9 @@ {% extends 'don_confiao/base.html' %} {% block content %} {% load static %} +
Resumen de Venta
@@ -25,9 +28,11 @@ {{ summary_form }}