Bonjour,
Depuis la passage a la version 2.17.3, ma custom app qui me permet de désactiver l’obligation d’avoir une adresse de livraison pour une réservation ne fonctionne plus.
Dans le fichier cart.py de mon
def place_order():
quotation = _get_cart_quotation()
cart_settings = frappe.db.get_value(« Shopping Cart Settings », None,
[« company », « allow_items_not_in_stock »], as_dict=1)
quotation.company = cart_settings.company
quotation.flags.ignore_permissions = True
quotation.submit()
if quotation.quotation_to == 'Lead' and quotation.party_name:
# company used to create customer accounts
frappe.defaults.set_user_default("company", quotation.company)
#if not (quotation.shipping_address_name or quotation.customer_address):
# frappe.throw(_("Set Shipping Address or Billing Address"))
from erpnext.selling.doctype.quotation.quotation import _make_sales_order
sales_order = frappe.get_doc(_make_sales_order(quotation.name, ignore_permissions=True))
sales_order.payment_schedule = []
if not cint(cart_settings.allow_items_not_in_stock):
for item in sales_order.get("items"):
item.reserved_warehouse, is_stock_item = frappe.db.get_value("Item",
item.item_code, ["website_warehouse", "is_stock_item"])
if is_stock_item:
item_stock = get_qty_in_stock(item.item_code, "website_warehouse")
if not cint(item_stock.in_stock):
throw(_("{1} Not in Stock").format(item.item_code))
if item.qty > item_stock.stock_qty[0][0]:
throw(_("Only {0} in Stock for item {1}").format(item_stock.stock_qty[0][0], item.item_code))
if sales_order.grand_total == 0.0:
sales_order.per_billed = 100.0
sales_order.flags.ignore_permissions = True
sales_order.insert()
sales_order.submit()
if hasattr(frappe.local, "cookie_manager"):
frappe.local.cookie_manager.delete_cookie("cart_count")
return sales_order.name
Et dans le hooks.py
fixtures = [« Custom Field »]
override_whitelisted_methods = {
‹ erpnext.shopping_cart.cart.place_order ›: ‹ connecthe.shopping_cart.cart.place_order ›
}
Merci de votre aide s’il vous plait