diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js index c47ead206993b4566372c2e321a7c3c53349aa0a..d4df577278a40ddc5644bfb7439a997c3757cadf 100644 --- a/erpnext/stock/doctype/item/item.js +++ b/erpnext/stock/doctype/item/item.js @@ -573,7 +573,7 @@ $.extend(erpnext.item, { if(i % 3 === 0){ fields.push({fieldtype: 'Section Break'}); } - fields.push({fieldtype: 'Column Break', label: name}); + fields.push({fieldtype: 'Column Break', label: name, fieldname: name}); attr_dict[name].forEach(value => { fields.push({ fieldtype: 'Check', @@ -590,6 +590,7 @@ $.extend(erpnext.item, { me.multiple_variant_dialog.get_primary_btn().html(__('Create Variants')); me.multiple_variant_dialog.disable_primary_action(); } else { + let no_of_combinations = lengths.reduce((a, b) => a * b, 1); let msg; if (no_of_combinations === 1) { @@ -607,6 +608,7 @@ $.extend(erpnext.item, { return fields; } + function make_and_show_dialog(fields) { me.multiple_variant_dialog = new frappe.ui.Dialog({ title: __("Select Attribute Values"), @@ -659,16 +661,15 @@ $.extend(erpnext.item, { let selected_attributes = {}; me.multiple_variant_dialog.$wrapper.find('.form-column').each((i, col) => { if(i===0) return; - let attribute_name = $(col).find('.column-label').html().trim(); + let attribute_name = $(col).find('.column-label').parent().attr('data-fieldname'); selected_attributes[attribute_name] = []; let checked_opts = $(col).find('.checkbox input'); checked_opts.each((i, opt) => { - if($(opt).is(':checked')) { + if($(opt).is(':checked') && $(opt).attr('data-fieldname')) { selected_attributes[attribute_name].push($(opt).attr('data-fieldname')); } }); }); - return selected_attributes; }