def test_override_doctype_class(self): from frappe import hooks # Set hook hooks.override_doctype_class = {"ToDo": ["frappe.tests.test_hooks.CustomToDo"]} # Clear cache frappe.cache().delete_value("app_hooks") clear_controller_cache("ToDo") todo = frappe.get_doc(doctype="ToDo", description="asdf") self.assertTrue(isinstance(todo, CustomToDo))
def test_override_doctype_class(self): from frappe import hooks # Set hook hooks.override_doctype_class = { 'ToDo': ['frappe.tests.test_hooks.CustomToDo'] } # Clear cache frappe.cache().delete_value('app_hooks') clear_controller_cache('ToDo') todo = frappe.get_doc(doctype='ToDo', description='asdf') self.assertTrue(isinstance(todo, CustomToDo))
def after_rename(self, old, new, merge=False): """Change table name using `RENAME TABLE` if table exists. Or update `doctype` property for Single type.""" if self.issingle: frappe.db.sql("""update tabSingles set doctype=%s where doctype=%s""", (new, old)) frappe.db.sql("""update tabSingles set value=%s where doctype=%s and field='name' and value = %s""", (new, new, old)) else: frappe.db.rename_table(old, new) frappe.db.commit() # Do not rename and move files and folders for custom doctype if not self.custom: if not frappe.flags.in_patch: self.rename_files_and_folders(old, new) clear_controller_cache(old)
def after_delete(self): if not self.custom: clear_controller_cache(self.name)