From eb271301271cd98690e58f7fff0d7d040a44431f Mon Sep 17 00:00:00 2001 From: Corentin Forler <8860073-cforler_dokos@users.noreply.gitlab.com> Date: Mon, 12 Feb 2024 18:56:55 +0100 Subject: [PATCH] fix(booking): Fix for Venue Units of Measure --- erpnext/venue/doctype/item_booking/item_booking.py | 4 ++-- erpnext/venue/doctype/venue_settings/venue_settings.js | 4 +++- erpnext/venue/doctype/venue_settings/venue_settings.py | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/erpnext/venue/doctype/item_booking/item_booking.py b/erpnext/venue/doctype/item_booking/item_booking.py index d9a79bc80fe..7a2aa43dde7 100644 --- a/erpnext/venue/doctype/item_booking/item_booking.py +++ b/erpnext/venue/doctype/item_booking/item_booking.py @@ -1291,8 +1291,8 @@ def get_item_calendar(item: str | None = None, uom: str | None = None) -> "item_ return {"type": "Daily", "calendar": [], "name": None} -def get_uom_in_minutes(uom=None): - minute_uom = frappe.db.get_single_value("Venue Settings", "minute_uom") +def get_uom_in_minutes(uom=None, minute_uom=None): + minute_uom = minute_uom or frappe.db.get_single_value("Venue Settings", "minute_uom") if uom == minute_uom: return 1 diff --git a/erpnext/venue/doctype/venue_settings/venue_settings.js b/erpnext/venue/doctype/venue_settings/venue_settings.js index afa5e2d9f2c..b9edb3e8f89 100644 --- a/erpnext/venue/doctype/venue_settings/venue_settings.js +++ b/erpnext/venue/doctype/venue_settings/venue_settings.js @@ -66,7 +66,9 @@ frappe.ui.form.on('Venue Units of Measure', { minute_uom: frm.doc.minute_uom } }).then(r => { - frappe.model.set_value(cdt, cdn, "duration", r.message); + if (r.message) { + frappe.model.set_value(cdt, cdn, "duration", r.message); + } }) } } diff --git a/erpnext/venue/doctype/venue_settings/venue_settings.py b/erpnext/venue/doctype/venue_settings/venue_settings.py index ba59a1963af..acdfbcf6cb4 100644 --- a/erpnext/venue/doctype/venue_settings/venue_settings.py +++ b/erpnext/venue/doctype/venue_settings/venue_settings.py @@ -73,9 +73,9 @@ def create_role_profile_fields(): @frappe.whitelist() def get_duration_for_uom(uom, minute_uom): - return ( - frappe.db.get_value("UOM Conversion Factor", dict(from_uom=uom, to_uom=minute_uom), "value") * 60 - ) + from erpnext.venue.doctype.item_booking.item_booking import get_uom_in_minutes + + return get_uom_in_minutes(uom, minute_uom) * 60 @frappe.whitelist() -- GitLab