django(View): add purchase summary json endpoint.

This commit is contained in:
2024-11-02 12:51:26 -05:00
parent 4cbeaa2560
commit 1519b3c8bb
3 changed files with 39 additions and 0 deletions

View File

@@ -117,6 +117,7 @@ def reconciliate_jar(request):
def reconciliations(request):
return HttpResponse('<h1>Reconciliaciones</h1>')
def purchase_summary(request, id):
purchase = Sale.objects.get(pk=id)
return render(
@@ -128,6 +129,36 @@ def purchase_summary(request, id):
)
def purchase_json_summary(request, id):
purchase = Sale.objects.get(pk=id)
lines = []
for line in purchase.saleline_set.all():
lines.append({
'product': {
'id': line.product.id,
'name': line.product.name,
'quantity': line.quantity,
'unit_price': line.unit_price,
'description': line.description,
}
})
to_response = {
'id': purchase.id,
'customer': {
'id': purchase.customer.id,
'name': purchase.customer.name,
# 'phone': _mask_phone(purchase.customer.phone)
},
'set_lines': lines,
}
return JsonResponse(to_response, safe=False)
def _mask_phone(phone):
digits = str(phone)[-3:] if phone else " " * 3
return "X" * 7 + digits
def _categories_from_csv_string(categories_string, separator="&"):
categories = categories_string.split(separator)
clean_categories = [c.strip() for c in categories]