fix in setup control and patch to fix existing docstatus problem
diff --git a/accounts/doctype/account/account.js b/accounts/doctype/account/account.js
index d34601b..2d35bd1 100644
--- a/accounts/doctype/account/account.js
+++ b/accounts/doctype/account/account.js
@@ -35,6 +35,10 @@
// hide fields if group
cur_frm.toggle_display(['account_type', 'master_type', 'master_name', 'freeze_account',
'credit_days', 'credit_limit', 'tax_rate'], doc.group_or_ledger=='Ledger')
+
+ // disable fields
+ cur_frm.toggle_enable(['account_name', 'debit_or_credit', 'group_or_ledger',
+ 'is_pl_account', 'company'], false);
// read-only for root accounts
root_acc = ['Application of Funds (Assets)','Expenses','Income','Source of Funds (Liabilities)'];
@@ -44,8 +48,8 @@
} else {
// credit days and type if customer or supplier
cur_frm.set_intro(null);
- cur_frm.toggle_display(['credit_days', 'credit_limit'],
- in_list(['Customer', 'Supplier'], doc.master_type))
+ cur_frm.toggle_display(['credit_days', 'credit_limit', 'master_name'],
+ in_list(['Customer', 'Supplier'], doc.master_type));
// hide tax_rate
cur_frm.cscript.account_type(doc, cdt, cdn);
@@ -55,6 +59,12 @@
}
}
+cur_frm.cscript.master_type = function(doc, cdt, cdn) {
+ cur_frm.toggle_display(['credit_days', 'credit_limit', 'master_name'],
+ in_list(['Customer', 'Supplier'], doc.master_type));
+}
+
+
// Fetch parent details
// -----------------------------------------
cur_frm.add_fetch('parent_account', 'debit_or_credit', 'debit_or_credit');
diff --git a/patches/october_2012/company_fiscal_year_docstatus_patch.py b/patches/october_2012/company_fiscal_year_docstatus_patch.py
new file mode 100644
index 0000000..34ec274
--- /dev/null
+++ b/patches/october_2012/company_fiscal_year_docstatus_patch.py
@@ -0,0 +1,7 @@
+import webnotes
+def execute():
+ webnotes.conn.sql("""update `tabCompany` set docstatus = 0
+ where docstatus is null""")
+
+ webnotes.conn.sql("""update `tabFiscal Year` set docstatus = 0
+ where docstatus is null""")
\ No newline at end of file
diff --git a/patches/october_2012/remove_old_trial_bal.py b/patches/october_2012/remove_old_trial_bal.py
new file mode 100644
index 0000000..f301525
--- /dev/null
+++ b/patches/october_2012/remove_old_trial_bal.py
@@ -0,0 +1,6 @@
+from __future__ import unicode_literals
+from webnotes.model import delete_doc
+
+def execute():
+ # remove search criteria
+ delete_doc("Search Criteria", "trial_balance")
diff --git a/patches/october_2012/update_account_property.py b/patches/october_2012/update_account_property.py
new file mode 100644
index 0000000..d30f0cc
--- /dev/null
+++ b/patches/october_2012/update_account_property.py
@@ -0,0 +1,14 @@
+def execute():
+ import webnotes
+ from webnotes.utils.nestedset import rebuild_tree
+ rebuild_tree('Account', 'parent_account')
+
+ roots = webnotes.conn.sql("""
+ select lft, rgt, debit_or_credit, is_pl_account, company from `tabAccount`
+ where ifnull(parent_account, '') = ''
+ """, as_dict=1)
+
+ for acc in roots:
+ webnotes.conn.sql("""update tabAccount set debit_or_credit = %(debit_or_credit)s,
+ is_pl_account = %(is_pl_account)s, company = %(company)s
+ where lft > %(lft)s and rgt < %(rgt)s""", acc, debug=1)
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index c8f814a..15dc8a5 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -627,4 +627,12 @@
'patch_module': 'patches.october_2012',
'patch_file': 'company_fiscal_year_docstatus_patch',
},
+ {
+ 'patch_module': 'patches.october_2012',
+ 'patch_file': 'update_account_property',
+ },
+ {
+ 'patch_module': 'patches.october_2012',
+ 'patch_file': 'remove_old_trial_bal',
+ },
]