From 5cf803b18a3f1f5297607c60083632ba76ed186d Mon Sep 17 00:00:00 2001 From: Corentin Forler <8860073-cforler_dokos@users.noreply.gitlab.com> Date: Thu, 15 Feb 2024 18:26:27 +0100 Subject: [PATCH] chore(booking): Deprecate book_new_slot --- erpnext/public/js/event.js | 2 +- .../doctype/item_booking/item_booking.py | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/erpnext/public/js/event.js b/erpnext/public/js/event.js index d31a2df6642..d082631ed88 100644 --- a/erpnext/public/js/event.js +++ b/erpnext/public/js/event.js @@ -104,7 +104,7 @@ const book_items = (frm, values) => { } const new_booking = (frm, value) => { - return frappe.xcall('erpnext.venue.doctype.item_booking.item_booking.book_new_slot', { + return frappe.xcall('erpnext.venue.doctype.item_booking.item_booking.book_new_slot_from_event', { item: value, start: frm.doc.starts_on, end: frm.doc.ends_on, diff --git a/erpnext/venue/doctype/item_booking/item_booking.py b/erpnext/venue/doctype/item_booking/item_booking.py index e4ca22982ad..1cd8c0ce69b 100644 --- a/erpnext/venue/doctype/item_booking/item_booking.py +++ b/erpnext/venue/doctype/item_booking/item_booking.py @@ -32,6 +32,7 @@ from frappe.utils import ( sbool, time_diff_in_minutes, ) +from frappe.utils.deprecations import deprecated from googleapiclient.errors import HttpError from erpnext.accounts.party import get_party_account_currency @@ -701,7 +702,9 @@ def get_item_uoms(item_code): @frappe.whitelist() +@deprecated def book_new_slot(**kwargs): + frappe.log_error("book_new_slot is deprecated: use webshop.webshop.shopping_cart.booking.book_new_slot instead") try: doc = frappe.get_doc( { @@ -726,6 +729,27 @@ def book_new_slot(**kwargs): frappe.log_error(_("New item booking error")) +@frappe.whitelist() +def book_new_slot_from_event(**kwargs): + frappe.only_for("Desk User") + doc = frappe.new_doc("Item Booking") + doc.update({ + "item": kwargs.get("item"), + "starts_on": kwargs.get("start"), + "ends_on": kwargs.get("end"), + "user": kwargs.get("user"), + "status": kwargs.get("status") or "In cart", + "event": kwargs.get("event"), + "all_day": kwargs.get("all_day") or 0, + "uom": kwargs.get("uom"), + "sync_with_google_calendar": kwargs.get("sync_with_google_calendar") + or frappe.db.get_single_value("Venue Settings", "sync_with_google_calendar"), + "deduct_booking_credits": sbool(kwargs.get("with_credits")), + }) + doc.insert(ignore_permissions=True) + return doc + + @frappe.whitelist() def remove_booked_slot(name): has_booking_permission(name, raise_exception=True) -- GitLab