diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 373a3dce8b..83b7884df4 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -144,4 +144,15 @@ def is_member(): last_membership = get_last_membership() if last_membership and getdate(last_membership.to_date) > getdate(): return True - return False \ No newline at end of file + return False + +def check_branch_compatibility_with_frappe(): + from frappe.utils.change_log import get_versions + versions = get_versions() + frappe_branch = versions["frappe"]["branch"] + erpnext_branch = versions["erpnext"]["branch"] + + if frappe_branch in ("hotfix", "master") and erpnext_branch == "develop": + raise frappe.IncompatibleApp("Frappe is on branch: {} and ERPNext is on branch: {}".format(frappe_branch, erpnext_branch)) + if erpnext_branch in ("hotfix", "master") and frappe_branch == "develop": + raise frappe.IncompatibleApp("Frappe is on branch: {} and ERPNext is on branch: {}".format(frappe_branch, erpnext_branch)) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index ccdd412c18..dbb5aff3d9 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -27,6 +27,8 @@ doctype_js = { welcome_email = "erpnext.setup.utils.welcome_email" +connect = "erpnext.check_branch_compatibility_with_frappe" + # setup wizard setup_wizard_requires = "assets/erpnext/js/setup_wizard.js" setup_wizard_stages = "erpnext.setup.setup_wizard.setup_wizard.get_setup_stages"