From 1484793055e28c81dfaa1206d05bf17d1de9b242 Mon Sep 17 00:00:00 2001 From: Britlog Date: Mon, 20 Nov 2017 06:52:18 +0100 Subject: [PATCH] Shopping cart addresses management (#11657) --- erpnext/shopping_cart/cart.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/erpnext/shopping_cart/cart.py b/erpnext/shopping_cart/cart.py index 7bc7874b2f7..f7a7d48422f 100644 --- a/erpnext/shopping_cart/cart.py +++ b/erpnext/shopping_cart/cart.py @@ -34,12 +34,15 @@ def get_cart_quotation(doc=None): 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 get_cart_quotation(doc=None): 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()