示例#1
0
	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))
示例#2
0
    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))
示例#3
0
	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)
示例#4
0
	def after_delete(self):
		if not self.custom:
			clear_controller_cache(self.name)