update_nsm_model in cost center on_trash()

This commit is contained in:
Nabin Hait
2011-09-27 10:36:17 +05:30
parent d223d12308
commit 39297e5775

View File

@@ -18,51 +18,57 @@ convert_to_lists = webnotes.conn.convert_to_lists
class DocType: class DocType:
def __init__(self,d,dl): def __init__(self,d,dl):
self.doc, self.doclist = d,dl self.doc, self.doclist = d,dl
self.nsm_parent_field = 'parent_cost_center' self.nsm_parent_field = 'parent_cost_center'
def autoname(self): def autoname(self):
#company_abbr = sql("select abbr from tabCompany where name=%s", self.doc.company)[0][0] self.doc.name = self.doc.cost_center_name + ' - ' + self.doc.company_abbr
self.doc.name = self.doc.cost_center_name + ' - ' + self.doc.company_abbr
def get_abbr(self): #-------------------------------------------------------------------------
abbr = sql("select abbr from tabCompany where company_name='%s'"%(self.doc.company_name))[0][0] or '' def get_abbr(self):
ret = { abbr = sql("select abbr from tabCompany where company_name='%s'"%(self.doc.company_name))[0][0] or ''
'company_abbr' : abbr ret = {
} 'company_abbr' : abbr
return ret }
return ret
def validate(self): #-------------------------------------------------------------------------
# Cost Center name must be unique def validate(self):
# --------------------------- """
if (self.doc.__islocal or (not self.doc.name)) and sql("select name from `tabCost Center` where cost_center_name = %s and company_name=%s", (self.doc.cost_center_name, self.doc.company_name)): Cost Center name must be unique
msgprint("Cost Center Name already exists, please rename") """
raise Exception if (self.doc.__islocal or not self.doc.name) and sql("select name from `tabCost Center` where cost_center_name = %s and company_name=%s", (self.doc.cost_center_name, self.doc.company_name)):
msgprint("Cost Center Name already exists, please rename", raise_exception=1)
check_acc_list = [] check_acc_list = []
for d in getlist(self.doclist, 'budget_details'): for d in getlist(self.doclist, 'budget_details'):
if [d.account, d.fiscal_year] in check_acc_list: if [d.account, d.fiscal_year] in check_acc_list:
msgprint("Account " + cstr(d.account) + "has been entered more than once for fiscal year " + cstr(d.fiscal_year)) msgprint("Account " + cstr(d.account) + "has been entered more than once for fiscal year " + cstr(d.fiscal_year), raise_exception=1)
raise Exception else:
if [d.account, d.fiscal_year] not in check_acc_list: check_acc_list.append([d.account, d.fiscal_year]) check_acc_list.append([d.account, d.fiscal_year])
def on_update(self): #-------------------------------------------------------------------------
# update Node Set Model def update_nsm_model(self):
import webnotes """
import webnotes.utils.nestedset update Nested Set Model
# update Node Set Model """
webnotes.utils.nestedset.update_nsm(self) import webnotes.utils.nestedset
webnotes.utils.nestedset.update_nsm(self)
def check_if_child_exists(self): #-------------------------------------------------------------------------
return sql("select name from `tabCost Center` where parent_cost_center = %s and docstatus != 2", self.doc.name, debug=0) def on_update(self):
self.update_nsm_model()
# On Trash def check_if_child_exists(self):
# -------- return sql("select name from `tabCost Center` where parent_cost_center = %s and docstatus != 2", self.doc.name)
def on_trash(self):
if self.check_if_child_exists():
msgprint("Child exists for this cost center. You can not trash this account.", raise_exception=1)
# rebuild tree # On Trash
set(self.doc,'old_parent', '') #-------------------------------------------------------------------------
self.update_nsm_model() def on_trash(self):
if self.check_if_child_exists():
msgprint("Child exists for this cost center. You can not trash this account.", raise_exception=1)
# rebuild tree
set(self.doc,'old_parent', '')
self.update_nsm_model()