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