49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 | |
| # License: GNU General Public License v3. See license.txt
 | |
| 
 | |
| from __future__ import unicode_literals
 | |
| import webnotes
 | |
| def execute():
 | |
| 	set_master_name_in_accounts()
 | |
| 	set_customer_in_sales_invoices()
 | |
| 	reset_lft_rgt()
 | |
| 	add_analytics_role()
 | |
| 
 | |
| def set_master_name_in_accounts():
 | |
| 	accounts = webnotes.conn.sql("""select name, account_name, master_type from tabAccount
 | |
| 		where ifnull(master_name, '')=''""", as_dict=1)
 | |
| 	for acc in accounts:
 | |
| 		if acc["master_type"] in ["Customer", "Supplier"]:
 | |
| 			master = webnotes.conn.sql("""select name from `tab%s`
 | |
| 				where name=%s """ % (acc["master_type"], "%s"), acc["account_name"])
 | |
| 			if master:
 | |
| 				webnotes.conn.sql("""update `tabAccount`
 | |
| 					set master_name=%s where name=%s""", (master[0][0], acc["name"]))
 | |
| 	
 | |
| def set_customer_in_sales_invoices():
 | |
| 	webnotes.conn.sql("""update `tabSales Invoice` si
 | |
| 		set si.customer=(select a.master_name from `tabAccount` a where a.name=si.debit_to)
 | |
| 		where ifnull(si.customer, '')=''""")
 | |
| 		
 | |
| def reset_lft_rgt():
 | |
| 	from webnotes.utils.nestedset import rebuild_tree
 | |
| 	dt = [
 | |
| 		["Item Group", "parent_item_group"], 
 | |
| 		["Customer Group", "parent_customer_group"],
 | |
| 		["Territory", "parent_territory"],
 | |
| 		["Account", "parent_account"], 
 | |
| 		["Cost Center", "parent_cost_center"],
 | |
| 		["Sales Person", "parent_sales_person"]
 | |
| 	]
 | |
| 	for d in dt:
 | |
| 		rebuild_tree(d[0], d[1])
 | |
| 		webnotes.conn.commit()
 | |
| 		webnotes.conn.begin()
 | |
| 	
 | |
| def add_analytics_role():
 | |
| 	from webnotes.model.doc import Document
 | |
| 	Document("Role", fielddata={
 | |
| 		"name": "Analytics",
 | |
| 		"role_name": "Analytics",
 | |
| 		"module": "Setup",
 | |
| 	}).save(1); |