rename dt patch updated
This commit is contained in:
parent
4af2c094cc
commit
3ffca32ace
@ -1,14 +1,74 @@
|
|||||||
def execute():
|
import webnotes
|
||||||
import webnotes
|
from webnotes.model import rename, delete_doc
|
||||||
from webnotes.model import rename, delete_doc
|
from webnotes.model.code import get_obj
|
||||||
from webnotes.model.code import get_obj
|
from wnf import replace_code
|
||||||
from wnf import replace_code
|
from termcolor import colored
|
||||||
import os
|
from webnotes.modules.module_manager import reload_doc
|
||||||
|
from webnotes.utils import make_esc
|
||||||
|
import os
|
||||||
|
|
||||||
# delete dt
|
|
||||||
#-------------
|
|
||||||
del_mapper = ['Production Forecast-Production Planning Tool', 'Production Forecast-Production Plan']
|
def execute():
|
||||||
|
# delete dt, mapper
|
||||||
|
delete_dt_and_mapper()
|
||||||
|
|
||||||
|
#---------------------------------------------------
|
||||||
|
# doctype renaming
|
||||||
|
rendt = get_dt_to_be_renamed()
|
||||||
|
# Rename dt in db
|
||||||
|
rename_in_db(rendt, 'DocType', 1)
|
||||||
|
# Upadte dt in records
|
||||||
|
update_dt_in_records(rendt)
|
||||||
|
|
||||||
|
#---------------------------------------------------
|
||||||
|
# Dt Mapper renaming
|
||||||
|
ren_mapper = get_mapper_to_be_renamed()
|
||||||
|
# Rename mapper in db
|
||||||
|
rename_in_db(ren_mapper, 'DocType Mapper', 0)
|
||||||
|
|
||||||
|
#---------------------------------------------------
|
||||||
|
# GL Mapper renaming
|
||||||
|
gl_mapper = {'Receivable Voucher': 'Sales Invoice', 'Payable Voucher': 'Purchase Invoice'}
|
||||||
|
rename_in_db(gl_mapper, 'GL Mapper', 0)
|
||||||
|
|
||||||
|
|
||||||
|
#---------------------------------------------------
|
||||||
|
# remove dt label
|
||||||
|
webnotes.conn.sql("""delete from `tabDocType Label` where name in ('Ticket', 'Receivable Voucher',
|
||||||
|
'QA Inspection Report', 'Payable Voucher', 'Manage Account', 'Indent', 'DocLayer')""")
|
||||||
|
|
||||||
|
#---------------------------------------------------
|
||||||
|
# Reload mapper from file
|
||||||
|
for d in ren_mapper:
|
||||||
|
mod = '_'.join(webnotes.conn.sql("select module from `tabDocType Mapper` where name = %s", ren_mapper[d])[0][0].lower().split())
|
||||||
|
reload_doc(mod, 'DocType Mapper', ren_mapper[d])
|
||||||
|
|
||||||
|
# reload custom search criteria
|
||||||
|
for d in webnotes.conn.sql("""select name, module from `tabSearch Criteria` where ifnull(standard, 'Yes') = 'Yes' and ifnull(disabled, 0) = 0"""):
|
||||||
|
reload_doc(d[1], 'search_criteria', d[0])
|
||||||
|
|
||||||
|
# reload custom print format
|
||||||
|
for d in webnotes.conn.sql("select name, module from `tabPrint Format` where ifnull(standard, 'Yes') = 'Yes'"):
|
||||||
|
reload_doc(d[1], 'Print Format', d[0])
|
||||||
|
|
||||||
|
# Reload GL Mapper
|
||||||
|
for d in webnotes.conn.sql("select name from `tabGL Mapper`"):
|
||||||
|
reload_doc('accounts', 'GL Mapper', d[0])
|
||||||
|
|
||||||
|
#gl entry, stock ledger entry,
|
||||||
|
webnotes.conn.sql("update `tabDocField` set options =replace(options, %s, %s) where fieldtype = 'Select' and ")
|
||||||
|
select parent, fieldname from tabDocField where options like '%Receivable Voucher%' and fieldtype = 'Select'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# T0-do-list
|
||||||
|
# gl mapper name
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def delete_dt_and_mapper():
|
||||||
|
del_mapper = ['Production Forecast-Production Planning Tool', 'Production Forecast-Production Plan', 'Sales Order-Production Plan']
|
||||||
for d in del_mapper:
|
for d in del_mapper:
|
||||||
delete_doc('DocType Mapper', d)
|
delete_doc('DocType Mapper', d)
|
||||||
|
|
||||||
@ -17,12 +77,78 @@ def execute():
|
|||||||
for d in del_dt:
|
for d in del_dt:
|
||||||
delete_doc('DocType', d)
|
delete_doc('DocType', d)
|
||||||
|
|
||||||
|
|
||||||
# Rename dt
|
def rename_in_db(ren_data, data_type, is_doctype):
|
||||||
#-------------
|
for d in ren_data:
|
||||||
|
print colored('Renaming... ' + d + ' --> '+ ren_data[d], 'yellow')
|
||||||
|
#rename
|
||||||
|
try:
|
||||||
|
rename(data_type, d, ren_data[d], is_doctype)
|
||||||
|
except Exception, e:
|
||||||
|
print e
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def update_dt_in_records(rendt):
|
||||||
|
for d in rendt:
|
||||||
|
# Feed, property setter, search criteria, gl mapper, form 16A, naming series options, doclayer - dodtype is not mentioed in options
|
||||||
|
dt_list = webnotes.conn.sql("select parent, fieldname from tabDocField where fieldname in ('dt', 'doctype', 'doc_type', 'dt_type') and ifnull(options, '') = ''")
|
||||||
|
for dt in record_dt:
|
||||||
|
webnotes.conn.sql("update `tab%s` set %s = replace(%s, '%s', '%s') where %s = '%s'" % (dt[0], dt[1], dt[1], d, rendt[d], dt[1], d))
|
||||||
|
|
||||||
|
# gl mapper, gl entry
|
||||||
|
webnotes.conn.sql("update `tabGL Mapper Detail` set against_voucher_type = replace(against_voucher_type, %s, %s) where against_voucher_type like '%%%s%%'" % (d, rendt[d], d))
|
||||||
|
webnotes.conn.sql("update `tabGL Entry` set against_voucher_type = replace(against_voucher_type, %s, %s) where against_voucher_type = '%s'" % (d, rendt[d], d))
|
||||||
|
webnotes.conn.sql("update `tabGL Entry` set voucher_type = replace(voucher_type, %s, %s) where voucher_type = '%s'" % (d, rendt[d], d))
|
||||||
|
|
||||||
|
# Stock ledger entry
|
||||||
|
|
||||||
|
# Custom fld: options
|
||||||
|
webnotes.conn.sql("update `tabCustom Field` set options = replace(options, %s, %s) where fieldtype in ('Link', 'Select')", (d, rendt[d]))
|
||||||
|
|
||||||
|
#Property Setter: value (if property=options)
|
||||||
|
webnotes.conn.sql("update `tabProperty Setter` set value = replace(value, %s, %s) where property = 'Options'", (d, rendt[d]))
|
||||||
|
|
||||||
|
# custom script: script
|
||||||
|
webnotes.conn.sql("update `tabCustom Script` set script = replace(script, %s, %s)", (d, rendt[d]))
|
||||||
|
|
||||||
|
# print format: html
|
||||||
|
webnotes.conn.sql("update `tabPrint Format` set html = replace(html, %s, %s) where ifnull(standard, 'Yes') = 'No'", (d, rendt[d]))
|
||||||
|
|
||||||
|
# custom report: doc_type, filters, columns, parent_doc_type, add_cond, add_col, add_tab,
|
||||||
|
# dis_filters, group_by, sort_by, report_script, server_script, custom_query
|
||||||
|
webnotes.conn.sql("""
|
||||||
|
update
|
||||||
|
`tabSearch Criteria`
|
||||||
|
set
|
||||||
|
doc_type = replace(doc_type, %s, %s),
|
||||||
|
filters = replace(filters, %s, %s),
|
||||||
|
columns = replace(columns, %s, %s),
|
||||||
|
parent_doc_type = replace(parent_doc_type, %s, %s),
|
||||||
|
add_cond = replace(add_cond, %s, %s),
|
||||||
|
add_col = replace(add_col, %s, %s),
|
||||||
|
add_tab = replace(add_tab, %s, %s),
|
||||||
|
dis_filters = replace(dis_filters, %s, %s),
|
||||||
|
group_by = replace(group_by, %s, %s),
|
||||||
|
sort_by = replace(sort_by, %s, %s),
|
||||||
|
report_script = replace(report_script, %s, %s),
|
||||||
|
server_script = replace(server_script, %s, %s),
|
||||||
|
custom_query = replace(custom_query, %s, %s)
|
||||||
|
where
|
||||||
|
ifnull(standard, 'Yes') = 'No'
|
||||||
|
""", (d, rendt[d], d, rendt[d], d, rendt[d], d, rendt[d], d, rendt[d], d, rendt[d], d, rendt[d],
|
||||||
|
d, rendt[d], d, rendt[d], d, rendt[d], d, rendt[d], d, rendt[d], d, rendt[d], ))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def get_dt_to_be_renamed():
|
||||||
rendt = {
|
rendt = {
|
||||||
'KRA Sheet' : 'Appraisal Template Goal'
|
'Receivable Voucher' : 'Sales Invoice',
|
||||||
}
|
'RV Detail' : 'Sales Invoice Item',
|
||||||
|
'RV Tax Detail' : 'Sales Taxes and Charges',
|
||||||
|
'Advance Adjustment Detail' : 'Sales Invoice Advance',
|
||||||
|
}
|
||||||
|
|
||||||
new = {
|
new = {
|
||||||
'Receivable Voucher' : 'Sales Invoice',
|
'Receivable Voucher' : 'Sales Invoice',
|
||||||
@ -100,36 +226,94 @@ def execute():
|
|||||||
'Professional Training Details' : 'Employee Training',
|
'Professional Training Details' : 'Employee Training',
|
||||||
'Previous Experience Detail' : 'Employee External Work History',
|
'Previous Experience Detail' : 'Employee External Work History',
|
||||||
}
|
}
|
||||||
|
return rendt
|
||||||
for d in rendt:
|
|
||||||
print d + ' --------> '+ rendt[d]
|
|
||||||
|
|
||||||
#rename
|
|
||||||
rename('DocType', d, rendt[d], 1)
|
|
||||||
|
|
||||||
# update txt
|
|
||||||
obj = get_obj('DocType', rendt[d])
|
|
||||||
obj.doc.save()
|
|
||||||
|
|
||||||
|
|
||||||
# RUN ONLY IN LOCAL
|
def get_mapper_to_be_renamed():
|
||||||
######################
|
ren_mapper = {
|
||||||
|
'Sales Order-Receivable Voucher' : 'Sales Order-Sales Invoice',
|
||||||
|
'Receivable Voucher-Delivery Note' : 'Sales Invoice-Delivery Note',
|
||||||
|
'Delivery Note-Receivable Voucher' : 'Delivery Note-Sales Invoice'
|
||||||
|
}
|
||||||
|
|
||||||
|
ren_map = {
|
||||||
# replace dt in js/py file
|
'Sales Order-Receivable Voucher' : 'Sales Order-Sales Invoice',
|
||||||
for extn in ['js', 'py', 'txt']:
|
'Sales Order-Indent' : 'Sales Order-Purchase Request',
|
||||||
replace_code('/var/www/erpnext/', d, rendt[d], extn)
|
'Receivable Voucher-Delivery Note' : 'Sales Invoice-Delivery Note',
|
||||||
|
'Purchase Receipt-Payable Voucher' : 'Purchase Receipt-Purchase Invoice',
|
||||||
|
'Purchase Order-Payable Voucher' : 'Purchase Order-Purchase Invoice',
|
||||||
|
'Project-Receivable Voucher' : 'Project-Sales Invoice',
|
||||||
|
'Lead-Enquiry' : 'Lead-Opportunity',
|
||||||
|
'KRA Template-Appraisal' : 'Appraisal Template-Appraisal',
|
||||||
|
'Indent-Purchase Order' : 'Purchase Request-Purchase Order',
|
||||||
|
'Enquiry-Quotation' : 'Opportunity-Quotation',
|
||||||
|
'Delivery Note-Receivable Voucher' : 'Delivery Note-Sales Invoice'
|
||||||
|
}
|
||||||
|
return ren_mapper
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
def update_local_file_system():
|
||||||
|
""" RUN ONLY IN LOCAL"""
|
||||||
|
|
||||||
|
# doctype renaming
|
||||||
|
rendt = get_dt_to_be_renamed()
|
||||||
|
|
||||||
|
# replace dt in js/py file
|
||||||
|
update_file_content(rendt)
|
||||||
|
# git mv
|
||||||
|
rename_dt_files(rendt)
|
||||||
|
|
||||||
|
|
||||||
|
# Mapper renaming
|
||||||
|
ren_mapper = get_mapper_to_be_renamed()
|
||||||
|
|
||||||
|
rename_mapper_files(ren_mapper)
|
||||||
|
|
||||||
|
|
||||||
#------TO-DO--------
|
# git rm production dt mapper
|
||||||
# remove dir
|
os.system('git rm -r erpnext/production/DocType\ Mapper/')
|
||||||
# git remove
|
|
||||||
# dt mapper rename
|
|
||||||
# change in gl mapper
|
|
||||||
|
def update_file_content(rendt):
|
||||||
|
for d in rendt:
|
||||||
|
for extn in ['js', 'py', 'txt']:
|
||||||
|
replace_code('/var/www/erpnext/', d, rendt[d], extn)
|
||||||
|
|
||||||
|
|
||||||
|
def rename_dt_files(rendt):
|
||||||
|
for d in rendt:
|
||||||
|
mod = webnotes.conn.sql("select module from tabDocType where name = %s", rendt[d])[0][0]
|
||||||
|
path = 'erpnext/' + '_'.join(mod.lower().split()) + '/doctype/'
|
||||||
|
old = '_'.join(d.lower().split())
|
||||||
|
new = '_'.join(rendt[d].lower().split())
|
||||||
|
|
||||||
|
# rename old dir
|
||||||
|
os.system('git mv ' + path + old + ' ' + path + new)
|
||||||
|
print 'git mv ' + path + old + ' ' + path + new
|
||||||
|
|
||||||
|
# rename all files in that dir
|
||||||
|
for extn in ['js', 'py', 'txt']:
|
||||||
|
if os.path.exists(path + new + '/'+ old + '.' +extn):
|
||||||
|
os.system('git mv ' + path + new + '/'+ old + '.' +extn + ' ' + path + new + '/' + new + '.' +extn)
|
||||||
|
print 'git mv ' + path + new + '/'+ old + '.' +extn + ' ' + path + new + '/' + new + '.' +extn
|
||||||
|
|
||||||
|
|
||||||
|
def rename_mapper_files(ren_mapper):
|
||||||
|
for d in ren_mapper:
|
||||||
|
# module
|
||||||
|
mod = '_'.join(webnotes.conn.sql("select module from `tabDocType Mapper` where name = %s", ren_mapper[d])[0][0].lower().split())
|
||||||
|
path = 'erpnext/' + mod + '/DocType Mapper/'
|
||||||
|
|
||||||
|
# rename old dir
|
||||||
|
esc = make_esc('$ ')
|
||||||
|
os.system('git mv ' + esc(path + d) + ' ' + esc(path + ren_mapper[d]))
|
||||||
|
print 'git mv ' + esc(path + d) + ' ' + esc(path + ren_mapper[d])
|
||||||
|
os.system('git mv ' + esc(path + ren_mapper[d] + '/'+ d + '.' +extn) + ' ' + esc(path + ren_mapper[d] + '/' + ren_mapper[d] + '.' +extn))
|
||||||
|
print 'git mv ' + esc(path + ren_mapper[d] + '/'+ d + '.txt') + ' ' + esc(path + ren_mapper[d] + '/' + ren_mapper[d] + '.txt')
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user