Shopping cart addresses management (#11657)
diff --git a/erpnext/shopping_cart/cart.py b/erpnext/shopping_cart/cart.py
index 7bc7874..f7a7d48 100644
--- a/erpnext/shopping_cart/cart.py
+++ b/erpnext/shopping_cart/cart.py
@@ -34,12 +34,15 @@
addresses = get_address_docs(party=party)
+ if not doc.customer_address and addresses:
+ update_cart_address("customer_address", addresses[0].name)
+
return {
"doc": decorate_quotation_doc(doc),
"shipping_addresses": [{"name": address.name, "display": address.display}
- for address in addresses if address.address_type == "Shipping"],
+ for address in addresses],
"billing_addresses": [{"name": address.name, "display": address.display}
- for address in addresses if address.address_type == "Billing"],
+ for address in addresses],
"shipping_rules": get_applicable_shipping_rules(party)
}
@@ -47,9 +50,8 @@
def place_order():
quotation = _get_cart_quotation()
quotation.company = frappe.db.get_value("Shopping Cart Settings", None, "company")
- for fieldname in ["customer_address", "shipping_address_name"]:
- if not quotation.get(fieldname):
- throw(_("{0} is required").format(quotation.meta.get_label(fieldname)))
+ if not quotation.get("customer_address"):
+ throw(_("{0} is required").format(_(quotation.meta.get_label("customer_address"))))
quotation.flags.ignore_permissions = True
quotation.submit()