#69 feat(ReconciliationJar): add purchases to list.
This commit is contained in:
@@ -113,14 +113,25 @@ def reconciliate_jar(request):
|
||||
date_format = '%Y-%m-%dT%H:%M'
|
||||
if request.method == 'POST':
|
||||
content = request.POST.dict()
|
||||
content['purchases'] = json.loads(content.get('purchases'))#machete por error al codificar el json en el test
|
||||
reconciliation = ReconciliationJar()
|
||||
reconciliation.date_time = content.get('date_time')
|
||||
reconciliation.cashman = content.get('cashman')
|
||||
reconciliation.total_cash_purchases = float(content.get('total_cash_purchases'))
|
||||
reconciliation.cash_taken = float(content.get('cash_taken'))
|
||||
reconciliation.cash_discrepancy = float(content.get('cash_discrepancy'))
|
||||
purchases = Sale.objects.filter(pk__in=content.get('purchases'))
|
||||
if reconciliation.total_cash_purchases != sum(p.get_total() for p in purchases):
|
||||
return JsonResponse(
|
||||
{'error': 'total_cash_purchases not equal to sum of all purchases.'},
|
||||
status=400
|
||||
)
|
||||
reconciliation.clean()
|
||||
reconciliation.save()
|
||||
for purchase in purchases:
|
||||
purchase.reconciliation = reconciliation
|
||||
purchase.clean()
|
||||
purchase.save()
|
||||
return JsonResponse(
|
||||
{'id': reconciliation.id},
|
||||
safe=False
|
||||
|
||||
Reference in New Issue
Block a user