diff --git a/erpnext/selling/page/point_of_sale/pos_item_selector.js b/erpnext/selling/page/point_of_sale/pos_item_selector.js index e930322a2c4..9b51ba26225 100644 --- a/erpnext/selling/page/point_of_sale/pos_item_selector.js +++ b/erpnext/selling/page/point_of_sale/pos_item_selector.js @@ -107,39 +107,45 @@ erpnext.PointOfSale.ItemSelector = class {
${frappe.get_abbr(item.item_name)}
`; } else { return `
${qty_to_display}
-
${frappe.get_abbr(item.item_name)}
`; +
${frappe.utils.escape_html(frappe.get_abbr(item.item_name))}
`; } } return `
+ data-item-code="${frappe.utils.escape_html(item.item_code)}" data-serial-no="${frappe.utils.escape_html( + serial_no + )}" + data-batch-no="${frappe.utils.escape_html(batch_no)}" data-uom="${frappe.utils.escape_html(uom)}" + data-rate="${frappe.utils.escape_html(price_list_rate || 0)}" + data-stock-uom="${frappe.utils.escape_html(item.stock_uom)}" + title="${frappe.utils.escape_html(item.item_name)}"> ${get_item_image_html()}
- ${frappe.ellipsis(item.item_name, 18)} + ${frappe.utils.escape_html(frappe.ellipsis(item.item_name, 18))}
-
${format_currency(price_list_rate, item.currency, precision) || 0} / ${uom}
+
${frappe.utils.escape_html( + format_currency(price_list_rate, item.currency, precision) || 0 + )} / ${frappe.utils.escape_html(uom)}
`; } handle_broken_image($img) { const item_abbr = $($img).attr("alt"); - $($img).parent().replaceWith(`
${item_abbr}
`); + $($img) + .parent() + .replaceWith(`
${frappe.utils.escape_html(item_abbr)}
`); } make_search_bar() { @@ -252,12 +258,12 @@ erpnext.PointOfSale.ItemSelector = class { this.$component.on("click", ".item-wrapper", function () { const $item = $(this); - const item_code = unescape($item.attr("data-item-code")); - let batch_no = unescape($item.attr("data-batch-no")); - let serial_no = unescape($item.attr("data-serial-no")); - let uom = unescape($item.attr("data-uom")); - let rate = unescape($item.attr("data-rate")); - let stock_uom = unescape($item.attr("data-stock-uom")); + const item_code = $item.attr("data-item-code"); + let batch_no = $item.attr("data-batch-no"); + let serial_no = $item.attr("data-serial-no"); + let uom = $item.attr("data-uom"); + let rate = $item.attr("data-rate"); + let stock_uom = $item.attr("data-stock-uom"); // escape(undefined) returns "undefined" then unescape returns "undefined" batch_no = batch_no === "undefined" ? undefined : batch_no;