diff --git a/frappe/core/doctype/doctype/boilerplate/controller._py b/frappe/core/doctype/doctype/boilerplate/controller._py index 97e23c0037..583bd30908 100644 --- a/frappe/core/doctype/doctype/boilerplate/controller._py +++ b/frappe/core/doctype/doctype/boilerplate/controller._py @@ -7,4 +7,4 @@ from __future__ import unicode_literals {base_class_import} class {classname}({base_class}): - pass + {custom_controller} diff --git a/frappe/modules/utils.py b/frappe/modules/utils.py index b3debfc43c..132aa1e2a5 100644 --- a/frappe/modules/utils.py +++ b/frappe/modules/utils.py @@ -247,6 +247,21 @@ def make_boilerplate(template, doc, opts=None): base_class = 'NestedSet' base_class_import = 'from frappe.utils.nestedset import NestedSet' + custom_controller = 'pass' + if doc.get('is_virtual'): + custom_controller = """ + def db_insert(self): + pass + + def load_from_db(self): + pass + + def db_update(self): + pass + + def get_list(self, args): + pass""" + with open(target_file_path, 'w') as target: with open(os.path.join(get_module_path("core"), "doctype", scrub(doc.doctype), "boilerplate", template), 'r') as source: @@ -257,5 +272,6 @@ def make_boilerplate(template, doc, opts=None): classname=doc.name.replace(" ", ""), base_class_import=base_class_import, base_class=base_class, - doctype=doc.name, **opts) + doctype=doc.name, **opts, + custom_controller=custom_controller) ))