added patch and set default fields after completion of setup wizard
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index f961a5b..855358e 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -446,3 +446,4 @@
erpnext.patches.v8_9.set_default_customer_group
erpnext.patches.v8_9.remove_employee_from_salary_structure_parent
erpnext.patches.v8_9.delete_gst_doctypes_for_outside_india_accounts
+erpnext.patches.v8_9.set_default_fields_in_variant_settings
\ No newline at end of file
diff --git a/erpnext/patches/v8_9/set_default_fields_in_variant_settings.py b/erpnext/patches/v8_9/set_default_fields_in_variant_settings.py
new file mode 100644
index 0000000..a550d09
--- /dev/null
+++ b/erpnext/patches/v8_9/set_default_fields_in_variant_settings.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2017, Frappe and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ frappe.reload_doc('stock', 'doctype', 'item_variant_settings')
+ frappe.reload_doc('stock', 'doctype', 'variant_field')
+
+ doc = frappe.get_doc('Item Variant Settings')
+ doc.set_default_fields()
+ doc.save()
\ No newline at end of file
diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py
index d3e4a08..bf92217 100644
--- a/erpnext/setup/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/setup_wizard/setup_wizard.py
@@ -33,6 +33,7 @@
create_feed_and_todo()
create_email_digest()
create_letter_head(args)
+ set_no_copy_fields_in_variant_settings()
if args.get('domain').lower() == 'education':
create_academic_year()
@@ -354,6 +355,12 @@
fileurl = save_file(filename, content, "Letter Head", _("Standard"), decode=True).file_url
frappe.db.set_value("Letter Head", _("Standard"), "content", "<img src='%s' style='max-width: 100%%;'>" % fileurl)
+def set_no_copy_fields_in_variant_settings():
+ # set no copy fields of an item doctype to item variant settings
+ doc = frappe.get_doc('Item Variant Settings')
+ doc.set_default_fields()
+ doc.save()
+
def create_logo(args):
if args.get("attach_logo"):
attach_logo = args.get("attach_logo").split(",")
diff --git a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.js b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.js
index cd7d8a4..77ccfd0 100644
--- a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.js
+++ b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.js
@@ -4,9 +4,12 @@
frappe.ui.form.on('Item Variant Settings', {
setup: function(frm) {
const allow_fields = [];
+ const exclude_fields = ["item_code", "item_name", "show_in_website", "show_variant_in_website", "standard_rate"];
+
frappe.model.with_doctype('Item', () => {
frappe.get_meta('Item').fields.forEach(d => {
- if(!in_list(['HTML', 'Section Break', 'Column Break', 'Button'], d.fieldtype) && !d.no_copy) {
+ if(!in_list(['HTML', 'Section Break', 'Column Break', 'Button'], d.fieldtype)
+ && !d.no_copy && !in_list(exclude_fields, d.fieldname)) {
allow_fields.push(d.fieldname);
}
});
diff --git a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.json b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.json
index 226a07c..a29137c 100644
--- a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.json
+++ b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.json
@@ -18,7 +18,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
- "fieldname": "variant_fields",
+ "fieldname": "copy_fields_to_variant",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -27,7 +27,7 @@
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
- "label": "Variant Fields",
+ "label": "Copy Fields to Variant",
"length": 0,
"no_copy": 0,
"permlevel": 0,
@@ -84,8 +84,8 @@
"issingle": 1,
"istable": 0,
"max_attachments": 0,
- "modified": "2017-08-29 16:38:49.467749",
- "modified_by": "Administrator",
+ "modified": "2017-09-11 12:05:16.288601",
+ "modified_by": "rohit@erpnext.com",
"module": "Stock",
"name": "Item Variant Settings",
"name_case": "",
diff --git a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py
index 26e08d1..1cc7c21 100644
--- a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py
+++ b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py
@@ -3,7 +3,18 @@
# For license information, please see license.txt
from __future__ import unicode_literals
+import frappe
from frappe.model.document import Document
class ItemVariantSettings(Document):
- pass
+ def set_default_fields(self):
+ self.fields = []
+ fields = frappe.get_meta('Item').fields
+ exclude_fields = ["item_code", "item_name", "show_in_website", "show_variant_in_website", "standard_rate"]
+
+ for d in fields:
+ if not d.no_copy and d.fieldname not in exclude_fields and \
+ d.fieldtype not in ['HTML', 'Section Break', 'Column Break', 'Button']:
+ self.append('fields', {
+ 'field_name': d.fieldname
+ })
\ No newline at end of file
diff --git a/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py b/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py
new file mode 100644
index 0000000..9a800c0
--- /dev/null
+++ b/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import unittest
+
+class TestItemVariantSettings(unittest.TestCase):
+ pass