save
This commit is contained in:
parent
8e6e87a098
commit
43e1c7640f
@ -3099,13 +3099,16 @@ def bill_mark_as_paid(request,pk):
|
||||
def bill_create(request):
|
||||
dealer = get_user_type(request)
|
||||
entity = dealer.entity
|
||||
|
||||
if request.method == "POST":
|
||||
data = json.loads(request.body)
|
||||
vendor_id = data.get("vendor")
|
||||
terms = data.get("terms")
|
||||
vendor = entity.get_vendors().filter(pk=vendor_id).first()
|
||||
|
||||
items = data.get("item", [])
|
||||
quantities = data.get("quantity", [])
|
||||
|
||||
if not all([items, quantities]):
|
||||
return JsonResponse(
|
||||
{"status": "error", "message": "Items and Quantities are required"},
|
||||
@ -3121,6 +3124,7 @@ def bill_create(request):
|
||||
return JsonResponse(
|
||||
{"status": "error", "message": "Quantity must be greater than zero"}
|
||||
)
|
||||
|
||||
bill = entity.create_bill(vendor_model=vendor, terms=terms)
|
||||
if isinstance(items, list):
|
||||
item_quantity_map = {}
|
||||
@ -3131,6 +3135,7 @@ def bill_create(request):
|
||||
item_quantity_map[item] = int(quantity)
|
||||
item_list = list(item_quantity_map.keys())
|
||||
quantity_list = list(item_quantity_map.values())
|
||||
|
||||
items_list = [
|
||||
{"item_id": item_list[i], "quantity": quantity_list[i]}
|
||||
for i in range(len(item_list))
|
||||
@ -3148,6 +3153,7 @@ def bill_create(request):
|
||||
"total_amount": car.finances.cost_price * quantity,
|
||||
}
|
||||
)
|
||||
|
||||
bill_itemtxs = {
|
||||
item.get("item_number"): {
|
||||
"unit_cost": item.get("unit_cost"),
|
||||
@ -3166,11 +3172,13 @@ def bill_create(request):
|
||||
"total_amount": instance.finances.cost_price * Decimal(quantities),
|
||||
}
|
||||
}
|
||||
|
||||
bill_itemtxs = bill.migrate_itemtxs(
|
||||
itemtxs=bill_itemtxs,
|
||||
commit=True,
|
||||
operation=BillModel.ITEMIZE_APPEND,
|
||||
)
|
||||
|
||||
url = reverse("bill_detail", kwargs={"pk": bill.pk})
|
||||
return JsonResponse(
|
||||
{
|
||||
@ -3179,6 +3187,7 @@ def bill_create(request):
|
||||
"url": f"{url}",
|
||||
}
|
||||
)
|
||||
|
||||
form = forms.BillModelCreateForm(entity_model=entity)
|
||||
form.initial.update(
|
||||
{
|
||||
@ -3204,6 +3213,7 @@ def bill_create(request):
|
||||
for x in car_list
|
||||
],
|
||||
}
|
||||
|
||||
return render(request, "ledger/bills/bill_form.html", context)
|
||||
|
||||
def BillDeleteView(request, pk):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user