fix(DX): Check Frappe and ERPNext major versions (#35651)

This commit is contained in:
Ankush Menat
2023-06-12 19:20:52 +05:30
committed by GitHub
parent 4f3d531f35
commit 1e8ee9354a
3 changed files with 26 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ import inspect
import frappe import frappe
__version__ = "14.0.0-dev" __version__ = "15.0.0-dev"
def get_default_company(user=None): def get_default_company(user=None):

View File

@@ -39,7 +39,10 @@ setup_wizard_requires = "assets/erpnext/js/setup_wizard.js"
setup_wizard_stages = "erpnext.setup.setup_wizard.setup_wizard.get_setup_stages" setup_wizard_stages = "erpnext.setup.setup_wizard.setup_wizard.get_setup_stages"
setup_wizard_test = "erpnext.setup.setup_wizard.test_setup_wizard.run_setup_wizard_test" setup_wizard_test = "erpnext.setup.setup_wizard.test_setup_wizard.run_setup_wizard_test"
before_install = "erpnext.setup.install.check_setup_wizard_not_completed" before_install = [
"erpnext.setup.install.check_setup_wizard_not_completed",
"erpnext.setup.install.check_frappe_version",
]
after_install = "erpnext.setup.install.after_install" after_install = "erpnext.setup.install.after_install"
boot_session = "erpnext.startup.boot.boot_session" boot_session = "erpnext.startup.boot.boot_session"

View File

@@ -2,12 +2,14 @@
# License: GNU General Public License v3. See license.txt # License: GNU General Public License v3. See license.txt
import click
import frappe import frappe
from frappe import _ from frappe import _
from frappe.custom.doctype.custom_field.custom_field import create_custom_fields from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
from frappe.desk.page.setup_wizard.setup_wizard import add_all_roles_to from frappe.desk.page.setup_wizard.setup_wizard import add_all_roles_to
from frappe.utils import cint from frappe.utils import cint
import erpnext
from erpnext.setup.default_energy_point_rules import get_default_energy_point_rules from erpnext.setup.default_energy_point_rules import get_default_energy_point_rules
from erpnext.setup.doctype.incoterm.incoterm import create_incoterms from erpnext.setup.doctype.incoterm.incoterm import create_incoterms
@@ -41,6 +43,25 @@ You can reinstall this site (after saving your data) using: bench --site [sitena
frappe.throw(message) # nosemgrep frappe.throw(message) # nosemgrep
def check_frappe_version():
def major_version(v: str) -> str:
return v.split(".")[0]
frappe_version = major_version(frappe.__version__)
erpnext_version = major_version(erpnext.__version__)
if frappe_version == erpnext_version:
return
click.secho(
f"You're attempting to install ERPNext version {erpnext_version} with Frappe version {frappe_version}. "
"This is not supported and will result in broken install. Switch to correct branch before installing.",
fg="red",
)
raise SystemExit(1)
def set_single_defaults(): def set_single_defaults():
for dt in ( for dt in (
"Accounts Settings", "Accounts Settings",