fix(ux): clean invalid fields from variant setting (#27412)

This commit is contained in:
Ankush Menat 2021-09-12 16:36:51 +05:30 committed by GitHub
parent a52d4c25ff
commit 6ef879fca2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,19 +2,32 @@
// For license information, please see license.txt // For license information, please see license.txt
frappe.ui.form.on('Item Variant Settings', { frappe.ui.form.on('Item Variant Settings', {
setup: function(frm) { refresh: function(frm) {
const allow_fields = []; const allow_fields = [];
const exclude_fields = ["naming_series", "item_code", "item_name", "show_in_website",
"show_variant_in_website", "opening_stock", "variant_of", "valuation_rate"]; const existing_fields = frm.doc.fields.map(row => row.field_name);
const exclude_fields = [...existing_fields, "naming_series", "item_code", "item_name",
"show_in_website", "show_variant_in_website", "standard_rate", "opening_stock", "image",
"variant_of", "valuation_rate", "barcodes", "website_image", "thumbnail",
"website_specifiations", "web_long_description", "has_variants", "attributes"];
const exclude_field_types = ['HTML', 'Section Break', 'Column Break', 'Button', 'Read Only'];
frappe.model.with_doctype('Item', () => { frappe.model.with_doctype('Item', () => {
frappe.get_meta('Item').fields.forEach(d => { frappe.get_meta('Item').fields.forEach(d => {
if(!in_list(['HTML', 'Section Break', 'Column Break', 'Button', 'Read Only'], d.fieldtype) if (!in_list(exclude_field_types, d.fieldtype)
&& !d.no_copy && !in_list(exclude_fields, d.fieldname)) { && !d.no_copy && !in_list(exclude_fields, d.fieldname)) {
allow_fields.push(d.fieldname); allow_fields.push(d.fieldname);
} }
}); });
if (allow_fields.length == 0) {
allow_fields.push({
label: __("No additional fields available"),
value: "",
});
}
frm.fields_dict.fields.grid.update_docfield_property( frm.fields_dict.fields.grid.update_docfield_property(
'field_name', 'options', allow_fields 'field_name', 'options', allow_fields
); );