[fix] Bypass Root Not Editable validation from Setup Wizard
diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index 46f7520..16d2501 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -7,6 +7,8 @@
from frappe import throw, _
from frappe.model.document import Document
+class RootNotEditable(frappe.ValidationError): pass
+
class Account(Document):
nsm_parent_field = 'parent_account'
@@ -67,7 +69,7 @@
# does not exists parent
if frappe.db.exists("Account", self.name):
if not frappe.db.get_value("Account", self.name, "parent_account"):
- throw(_("Root cannot be edited."))
+ throw(_("Root cannot be edited."), RootNotEditable)
def validate_frozen_accounts_modifier(self):
old_value = frappe.db.get_value("Account", self.name, "freeze_account")
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index e578f87..77ad90a 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -15,6 +15,7 @@
import install_fixtures
from .sample_data import make_sample_data
from erpnext.accounts.utils import FiscalYearError
+from erpnext.accounts.doctype.account.account import RootNotEditable
@frappe.whitelist()
def setup_account(args=None):
@@ -303,6 +304,7 @@
return fy
def create_taxes(args):
+
for i in xrange(1,6):
if args.get("tax_" + str(i)):
# replace % in case someone also enters the % symbol
@@ -320,6 +322,9 @@
pass
else:
raise
+ except RootNotEditable, e:
+ pass
+
def make_tax_head(args, i, tax_group, tax_rate):
return frappe.get_doc({
"doctype":"Account",