refactor: move Products list logic to model.
This commit is contained in:
		@@ -37,6 +37,20 @@ class Product(models.Model):
 | 
				
			|||||||
    def __str__(self):
 | 
					    def __str__(self):
 | 
				
			||||||
        return self.name
 | 
					        return self.name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @classmethod
 | 
				
			||||||
 | 
					    def to_list(cls):
 | 
				
			||||||
 | 
					        products_list = []
 | 
				
			||||||
 | 
					        all_products = cls.objects.all()
 | 
				
			||||||
 | 
					        for product in all_products:
 | 
				
			||||||
 | 
					            rproduct = {
 | 
				
			||||||
 | 
					                "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):
 | 
					class Sale(models.Model):
 | 
				
			||||||
    customer = models.ForeignKey(Customer, on_delete=models.PROTECT)
 | 
					    customer = models.ForeignKey(Customer, on_delete=models.PROTECT)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,18 +60,7 @@ def purchases(request):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def products(request):
 | 
					def products(request):
 | 
				
			||||||
    rproducts = []
 | 
					    return JsonResponse(Product.to_list(), safe=False)
 | 
				
			||||||
    products = Product.objects.all()
 | 
					 | 
				
			||||||
    for product in products:
 | 
					 | 
				
			||||||
        rproduct = {
 | 
					 | 
				
			||||||
            "name": product.name,
 | 
					 | 
				
			||||||
            "price_list": product.price,
 | 
					 | 
				
			||||||
            "uom": product.measuring_unit,
 | 
					 | 
				
			||||||
            "categories": [c.name for c in product.categories.all()]
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        rproducts.append(rproduct)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return JsonResponse(rproducts, safe=False)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def import_products(request):
 | 
					def import_products(request):
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user