2012-02-23 07:05:32 +00:00
# ERPNext - web based ERP (http://erpnext.com)
# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
2011-06-08 09:07:15 +00:00
import webnotes
from webnotes . model . doc import Document
from webnotes . utils import load_json , cint , cstr
from webnotes import msgprint , errprint
def make_address ( ) :
from webnotes . modules . module_manager import reload_doc
2011-07-28 08:19:03 +00:00
reload_doc ( ' utilities ' , ' doctype ' , ' address ' )
2011-06-08 09:07:15 +00:00
from webnotes . model . db_schema import updatedb
updatedb ( ' Address ' )
def make_address_from_customer ( ) :
for c in webnotes . conn . sql ( " select * from tabCustomer " , as_dict = 1 ) :
d = Document ( ' Address ' )
d . address_line1 = c [ ' address_line1 ' ]
d . address_line2 = c [ ' address_line2 ' ]
d . city = c [ ' city ' ]
d . country = c [ ' country ' ]
d . pincode = c [ ' pincode ' ]
d . state = c [ ' state ' ]
d . fax = c [ ' fax_1 ' ]
d . email_id = c [ ' email_id ' ]
d . phone = c [ ' phone_1 ' ]
d . customer = c [ ' name ' ]
d . customer_name = c [ ' customer_name ' ]
d . is_primary_address = 1
d . address_type = ' Office '
try :
d . save ( 1 )
except NameError , e :
pass
def make_address_from_supplier ( ) :
for c in webnotes . conn . sql ( " select * from tabSupplier " , as_dict = 1 ) :
d = Document ( ' Address ' )
d . address_line1 = c [ ' address_line1 ' ]
d . address_line2 = c [ ' address_line2 ' ]
d . city = c [ ' city ' ]
d . country = c [ ' country ' ]
d . pincode = c [ ' pincode ' ]
d . state = c [ ' state ' ]
d . supplier = c [ ' name ' ]
d . supplier_name = c [ ' supplier_name ' ]
d . is_primary_address = 1
d . address_type = ' Office '
try :
d . save ( 1 )
except NameError , e :
pass
def make_contact_from_contacttab ( ) :
webnotes . conn . sql ( """
update ignore tabContact set
is_primary_contact = if ( is_primary_contact = ' Yes ' , 1 , 0 )
""" )
webnotes . conn . sql ( """
update ignore tabContact t1 , tabCustomer t2 set
t1 . name = concat ( ifnull ( t1 . contact_name , t1 . name ) , ' - ' , ifnull ( t1 . customer_name , t2 . name ) )
where ifnull ( t1 . is_customer , 0 ) = 1
and t1 . customer = t2 . name
""" )
webnotes . conn . sql ( """
update ignore tabContact t1 , tabSupplier t2 set
t1 . name = concat ( ifnull ( t1 . contact_name , t1 . name ) , ' - ' , ifnull ( t1 . supplier_name , t2 . name ) )
where ifnull ( t1 . is_supplier , 0 ) = 1
and t1 . supplier = t2 . name
""" )
webnotes . conn . sql ( """
update ignore tabContact set
name = concat ( ifnull ( contact_name , name ) , ' - ' , sales_partner )
where ifnull ( is_sales_partner , 0 ) = 1
""" )
webnotes . conn . commit ( )
try :
webnotes . conn . sql ( """ alter table tabContact change contact_no phone varchar(180) """ )
webnotes . conn . sql ( """ alter table tabContact change is_primary_contact is_primary_contact int(1) """ )
except :
pass
webnotes . conn . begin ( )
def delete_unwanted_fields ( ) :
delete_fields = [
( ' Contact ' , ' is_sales_partner ' ) , ( ' Contact ' , ' sales_partner_address ' ) , ( ' Contact ' , ' partner_type ' ) , ( ' Contact ' , ' disable_login ' ) , ( ' Contact ' , ' contact_address ' ) , ( ' Contact ' , ' fax ' ) , ( ' Contact ' , ' company_name ' ) , ( ' Contact ' , ' contact_no ' ) , ( ' Contact ' , ' customer_group ' ) , ( ' Contact ' , ' has_login ' ) , ( ' Contact ' , ' Create Login ' ) , ( ' Contact ' , ' contact_name ' ) , ( ' Contact ' , ' company_address ' ) , ( ' Contact ' , ' customer_address ' ) , ( ' Contact ' , ' supplier_address ' ) , ( ' Contact ' , ' supplier_type ' ) , ( ' Contact ' , ' is_customer ' ) , ( ' Contact ' , ' is_supplier ' ) , ( ' Contact ' , ' employee_id ' ) , ( ' Contact ' , ' is_employee ' ) ,
( ' Customer ' , ' region ' ) , ( ' Customer ' , ' pincode ' ) , ( ' Customer ' , ' city ' ) , ( ' Customer ' , ' country ' ) , ( ' Customer ' , ' state ' ) , ( ' Customer ' , ' address ' ) , ( ' Customer ' , ' telephone ' ) , ( ' Customer ' , ' address_line2 ' ) , ( ' Customer ' , ' address_line1 ' ) , ( ' Customer ' , ' last_sales_order ' ) , ( ' Customer ' , ' Shipping HTML ' ) , ( ' Customer ' , ' phone_1 ' ) , ( ' Customer ' , ' Territory Help ' ) , ( ' Customer ' , ' CG Help ' ) , ( ' Customer ' , ' fax_1 ' ) , ( ' Customer ' , ' email_id ' ) ,
( ' Customer Issue ' , ' email_id ' ) , ( ' Customer Issue ' , ' contact_no ' ) ,
( ' Delivery Note ' , ' customer_mobile_no ' ) , ( ' Delivery Note ' , ' Send SMS ' ) , ( ' Delivery Note ' , ' Get Other Charges ' ) , ( ' Delivery Note ' , ' message ' ) , ( ' Delivery Note ' , ' shipping_address ' ) , ( ' Delivery Note ' , ' ship_to ' ) , ( ' Delivery Note ' , ' ship_det_no ' ) , ( ' Delivery Note ' , ' contact_no ' ) , ( ' Delivery Note ' , ' Customer Details ' ) , ( ' Delivery Note ' , ' email_id ' ) , ( ' Delivery Note ' , ' delivery_address ' ) , ( ' Delivery Note ' , ' Contact Help ' ) , ( ' Delivery Note ' , ' Territory Help ' ) ,
( ' Enquiry ' , ' address ' ) , ( ' Enquiry ' , ' Send Email ' ) , ( ' Enquiry ' , ' enquiry_attachment_detail ' ) , ( ' Enquiry ' , ' contact_date_ref ' ) , ( ' Enquiry ' , ' Update Follow up ' ) , ( ' Enquiry ' , ' email_id1 ' ) , ( ' Enquiry ' , ' cc_to ' ) , ( ' Enquiry ' , ' subject ' ) , ( ' Enquiry ' , ' message ' ) , ( ' Enquiry ' , ' Attachment Html ' ) , ( ' Enquiry ' , ' Create New File ' ) , ( ' Enquiry ' , ' contact_no ' ) , ( ' Enquiry ' , ' email_id ' ) , ( ' Enquiry ' , ' project ' ) , ( ' Enquiry ' , ' update_follow_up ' ) , ( ' Enquiry ' , ' Contact Help ' ) ,
( ' Installation Note ' , ' address ' ) ,
( ' Lead ' , ' message ' ) , ( ' Lead ' , ' Send Email ' ) , ( ' Lead ' , ' address ' ) , ( ' Lead ' , ' subject ' ) , ( ' Lead ' , ' contact_no ' ) , ( ' Lead ' , ' TerritoryHelp ' ) ,
( ' Maintenance Schedule ' , ' address ' ) ,
( ' Maintenance Visit ' , ' address ' ) ,
( ' Purchase Order ' , ' Contact Help ' ) , ( ' Purchase Order ' , ' supplier_qtn ' ) , ( ' Purchase Order ' , ' contact_no ' ) , ( ' Purchase Order ' , ' email ' ) ,
( ' Purchase Receipt ' , ' Contact Help ' ) ,
( ' Quotation ' , ' email_id ' ) , ( ' Quotation ' , ' contact_no ' ) , ( ' Quotation ' , ' Update Follow up ' ) , ( ' Quotation ' , ' contact_date_ref ' ) , ( ' Quotation ' , ' Territory Help ' ) , ( ' Quotation ' , ' Contact Help ' ) ,
( ' Receivable Voucher ' , ' Territory Help ' ) ,
( ' Sales Order ' , ' contact_no ' ) , ( ' Sales Order ' , ' email_id ' ) , ( ' Sales Order ' , ' Contact Help ' ) , ( ' Sales Order ' , ' file_list ' ) , ( ' Sales Order ' , ' ship_det_no ' ) , ( ' Sales Order ' , ' mobile_no ' ) , ( ' Sales Order ' , ' Territory Help ' ) , ( ' Sales Order ' , ' ship_to ' ) , ( ' Sales Order ' , ' Customer Details ' ) ,
( ' Sales Partner ' , ' area_code ' ) , ( ' Sales Partner ' , ' telephone ' ) , ( ' Sales Partner ' , ' email ' ) , ( ' Sales Partner ' , ' address ' ) , ( ' Sales Partner ' , ' TerritoryHelp ' ) , ( ' Sales Partner ' , ' pincode ' ) , ( ' Sales Partner ' , ' country ' ) , ( ' Sales Partner ' , ' city ' ) , ( ' Sales Partner ' , ' address_line2 ' ) , ( ' Sales Partner ' , ' address_line1 ' ) , ( ' Sales Partner ' , ' mobile ' ) , ( ' Sales Partner ' , ' state ' ) ,
( ' Serial No ' , ' supplier_address ' ) ,
( ' Supplier ' , ' city ' ) , ( ' Supplier ' , ' country ' ) , ( ' Supplier ' , ' state ' ) , ( ' Supplier ' , ' address_line1 ' ) , ( ' Supplier ' , ' last_purchase_order ' ) , ( ' Supplier ' , ' address ' ) , ( ' Supplier ' , ' address_line2 ' ) , ( ' Supplier ' , ' pincode ' ) , ( ' Supplier rating ' , ' address ' ) , ( ' Supplier rating ' , ' select ' ) , ( ' Supplier rating ' , ' supplier ' ) ]
for d in delete_fields :
webnotes . conn . sql ( " delete from tabDocField where parent= %s and if(ifnull(fieldname, ' ' )= ' ' ,ifnull(label, ' ' ),fieldname)= %s " , ( d [ 0 ] , d [ 1 ] ) )
#def gen_txt_files():
# from webnotes.modules.export_module import export_to_files
# for dt in ['Contact','Customer','Customer Issue','Delivery Note','Enquiry','Installation Note','Lead','Maintenance Schedule','Maintenance Visit','Purchase Order','Purchase Receipt','Quotation','Receivable Voucher','Sales Order','Sales Partner','Serial No','Supplier']:
# export_to_files(record_list=[['DocType',dt]])
def reload_doc_files ( ) :
from webnotes . modules . module_manager import reload_doc
2011-07-28 08:19:03 +00:00
reload_doc ( ' utilities ' , ' doctype ' , ' contact ' )
reload_doc ( ' selling ' , ' doctype ' , ' customer ' )
reload_doc ( ' support ' , ' doctype ' , ' customer_issue ' )
reload_doc ( ' stock ' , ' doctype ' , ' delivery_note ' )
reload_doc ( ' selling ' , ' doctype ' , ' enquiry ' )
reload_doc ( ' selling ' , ' doctype ' , ' installation_note ' )
reload_doc ( ' selling ' , ' doctype ' , ' lead ' )
reload_doc ( ' support ' , ' doctype ' , ' maintenance_schedule ' )
reload_doc ( ' support ' , ' doctype ' , ' maintenance_visit ' )
reload_doc ( ' buying ' , ' doctype ' , ' purchase_order ' )
reload_doc ( ' stock ' , ' doctype ' , ' purchase_receipt ' )
reload_doc ( ' selling ' , ' doctype ' , ' quotation ' )
2011-06-08 09:07:15 +00:00
reload_doc ( ' accounts ' , ' doctype ' , ' receivable_voucher ' )
reload_doc ( ' accounts ' , ' doctype ' , ' payable_voucher ' )
2011-07-28 08:19:03 +00:00
reload_doc ( ' selling ' , ' doctype ' , ' sales_order ' )
2011-06-08 09:07:15 +00:00
reload_doc ( ' setup ' , ' doctype ' , ' sales_partner ' )
2011-07-28 08:19:03 +00:00
reload_doc ( ' stock ' , ' doctype ' , ' serial_no ' )
reload_doc ( ' buying ' , ' doctype ' , ' supplier ' )
2011-06-08 09:07:15 +00:00
def reload_mapper_files ( ) :
from webnotes . modules . module_manager import reload_doc
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Customer Issue-Maintenance Visit ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Delivery Note-Installation Note ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Delivery Note-Receivable Voucher ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Enquiry-Quotation ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Lead-Customer ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Lead-Enquiry ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Purchase Order-Payable Voucher ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Purchase Order-Purchase Receipt ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Purchase Receipt-Payable Voucher ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Quotation-Sales Order ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Receivable Voucher-Delivery Note ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Sales Order-Delivery Note ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Sales Order-Maintenance Schedule ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Sales Order-Maintenance Visit ' )
reload_doc ( ' Mapper ' , ' DocType Mapper ' , ' Sales Order-Receivable Voucher ' )
def delete_unwanted_mapper_fields ( ) :
delete_fields = [
( ' Customer Issue-Maintenance Visit ' , ' customer_address ' , ' address ' ) ,
( ' Delivery Note-Installation Note ' , ' customer_address ' , ' address ' ) ,
( ' Enquiry-Quotation ' , ' contact_no ' , ' contact_no ' ) , ( ' Enquiry-Quotation ' , ' subject ' , ' enq_det ' ) , ( ' Enquiry-Quotation ' , ' customer_name ' , ' customer_name ' ) , ( ' Enquiry-Quotation ' , ' customer_name ' , ' customer_name ' ) , ( ' Enquiry-Quotation ' , ' address ' , ' customer_address ' ) , ( ' Enquiry-Quotation ' , ' email_id ' , ' email_id ' ) ,
( ' Quotation-Sales Order ' , ' contact_no ' , ' contact_no ' ) , ( ' Quotation-Sales Order ' , ' email_id ' , ' email_id ' ) , ( ' Quotation-Sales Order ' , ' customer_mobile_no ' , ' customer_mobile_no ' ) ,
( ' Sales Order-Delivery Note ' , ' customer_address ' , ' delivery_address ' ) , ( ' Sales Order-Delivery Note ' , ' customer_address ' , ' customer_address ' ) , ( ' Sales Order-Delivery Note ' , ' contact_no ' , ' contact_no ' ) , ( ' Sales Order-Delivery Note ' , ' email_id ' , ' email_id ' ) , ( ' Sales Order-Delivery Note ' , ' ship_det_no ' , ' ship_det_no ' ) , ( ' Sales Order-Delivery Note ' , ' ship_to ' , ' ship_to ' ) , ( ' Sales Order-Delivery Note ' , ' shipping_address ' , ' shipping_address ' ) , ( ' Sales Order-Delivery Note ' , ' customer_mobile_no ' , ' customer_mobile_no ' ) ,
( ' Sales Order-Maintenance Schedule ' , ' customer_address ' , ' address ' ) ,
( ' Sales Order-Maintenance Visit ' , ' customer_address ' , ' address ' ) ,
( ' Sales Order-Receivable Voucher ' , ' contact_no ' , ' contact_no ' ) ]
for rec in delete_fields :
webnotes . conn . sql ( " delete from `tabField Mapper Detail` where parent= %s and from_field= %s and to_field= %s " , ( rec [ 0 ] , rec [ 1 ] , rec [ 2 ] ) )
def sync_docfield_properties ( ) :
update_fields = [
( ' Contact ' , ' customer ' , ' Customer ' , 0 L , None , 0 L , None ) , ( ' Contact ' , ' supplier ' , ' Supplier ' , 0 L , None , None , None ) , ( ' Contact ' , ' is_primary_contact ' , None , 0 L , None , None , None ) , ( ' Contact ' , ' email_id ' , None , 0 L , 1 L , None , None ) , ( ' Contact ' , ' department ' , ' Suggest ' , 0 L , None , None , None ) , ( ' Contact ' , ' designation ' , ' Suggest ' , 0 L , None , None , None ) ,
( ' Customer Issue ' , ' customer ' , ' Customer ' , 0 L , 1 L , 1 L , None ) , ( ' Customer Issue ' , ' customer_address ' , ' Address ' , 0 L , None , 1 L , None ) , ( ' Customer Issue ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Customer Issue ' , ' customer_name ' , None , 1 L , None , None , None ) , ( ' Customer Issue ' , ' company ' , ' Company ' , 0 L , 1 L , 1 L , None ) , ( ' Customer Issue ' , ' fiscal_year ' , ' link:Fiscal Year ' , 0 L , 1 L , 1 L , None ) ,
( ' Delivery Note ' , ' customer_address ' , ' Address ' , 0 L , None , 1 L , None ) , ( ' Delivery Note ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Delivery Note ' , ' customer_name ' , None , 1 L , None , None , None ) , ( ' Delivery Note ' , ' status ' , ' \n Draft \n Submitted \n Cancelled ' , 1 L , 1 L , 1 L , None ) , ( ' Delivery Note ' , ' territory ' , ' Territory ' , 0 L , 1 L , 1 L , 0 L ) , ( ' Delivery Note ' , ' customer_group ' , ' Customer Group ' , 0 L , None , 1 L , None ) , ( ' Delivery Note ' , ' transporter_name ' , None , 0 L , 0 L , 1 L , None ) , ( ' Delivery Note ' , ' lr_no ' , None , 0 L , 0 L , 1 L , None ) , ( ' Delivery Note ' , ' lr_date ' , None , 0 L , None , 1 L , None ) , ( ' Delivery Note ' , ' currency ' , ' link:Currency ' , 0 L , 1 L , 1 L , None ) , ( ' Delivery Note ' , ' letter_head ' , ' link:Letter Head ' , 0 L , None , 1 L , None ) ,
( ' Enquiry ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Enquiry ' , ' customer_name ' , None , 1 L , None , 0 L , None ) , ( ' Enquiry ' , ' lead ' , ' Lead ' , 0 L , None , 1 L , 0 L ) , ( ' Enquiry ' , ' enquiry_type ' , ' \n Sales \n Maintenance ' , 0 L , 1 L , None , None ) , ( ' Enquiry ' , ' territory ' , ' Territory ' , 0 L , 1 L , 1 L , None ) , ( ' Enquiry ' , ' customer_group ' , ' Customer Group ' , 0 L , 0 L , 1 L , 0 L ) , ( ' Enquiry ' , ' contact_by ' , ' Profile ' , 0 L , None , None , None ) ,
( ' Installation Note ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Installation Note ' , ' customer_name ' , None , 1 L , 0 L , None , None ) , ( ' Installation Note ' , ' territory ' , ' Territory ' , 0 L , 1 L , 1 L , None ) , ( ' Installation Note ' , ' status ' , ' Draft \n Submitted \n Cancelled ' , 1 L , 1 L , 1 L , None ) ,
( ' Lead ' , ' city ' , None , 0 L , 1 L , 1 L , None ) , ( ' Lead ' , ' country ' , ' link:Country ' , 0 L , 1 L , 1 L , None ) , ( ' Lead ' , ' state ' , ' Suggest ' , 0 L , None , 1 L , None ) , ( ' Lead ' , ' company ' , ' Company ' , 0 L , 1 L , None , None ) , ( ' Lead ' , ' contact_by ' , ' Profile ' , 0 L , 0 L , 0 L , 0 L ) ,
( ' Maintenance Schedule ' , ' customer ' , ' Customer ' , 0 L , 1 L , 1 L , None ) , ( ' Maintenance Schedule ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Maintenance Schedule ' , ' status ' , ' \n Draft \n Submitted \n Cancelled ' , 1 L , 1 L , None , None ) , ( ' Maintenance Schedule ' , ' territory ' , ' Territory ' , 0 L , 1 L , None , None ) ,
( ' Maintenance Visit ' , ' customer ' , ' Customer ' , 0 L , 1 L , 1 L , None ) , ( ' Maintenance Visit ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Maintenance Visit ' , ' customer_name ' , None , 1 L , None , None , None ) , ( ' Maintenance Visit ' , ' company ' , ' link:Company ' , 0 L , 1 L , 1 L , None ) , ( ' Maintenance Visit ' , ' fiscal_year ' , ' link:Fiscal Year ' , 0 L , 1 L , 1 L , None ) , ( ' Maintenance Visit ' , ' status ' , ' \n Draft \n Cancelled \n Submitted ' , 1 L , 1 L , None , None ) , ( ' Maintenance Visit ' , ' territory ' , ' Territory ' , 0 L , None , 1 L , None ) ,
( ' Purchase Order ' , ' supplier_address ' , ' Address ' , 0 L , None , 1 L , None ) , ( ' Purchase Order ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Purchase Order ' , ' supplier_name ' , None , 1 L , None , None , None ) , ( ' Purchase Order ' , ' status ' , ' \n Draft \n Submitted \n Stopped \n Cancelled ' , 1 L , 1 L , 1 L , None ) , ( ' Purchase Order ' , ' indent_no ' , ' Indent ' , 0 L , None , 1 L , 0 L ) , ( ' Purchase Order ' , ' is_subcontracted ' , ' \n Yes \n No ' , 0 L , None , 1 L , None ) , ( ' Purchase Order ' , ' currency ' , ' link:Currency ' , 0 L , 1 L , 1 L , None ) , ( ' Purchase Order ' , ' net_total ' , None , 1 L , 0 L , 1 L , None ) ,
( ' Purchase Receipt ' , ' supplier_address ' , ' Address ' , 0 L , None , 1 L , None ) , ( ' Purchase Receipt ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Purchase Receipt ' , ' supplier_name ' , None , 1 L , None , None , None ) , ( ' Purchase Receipt ' , ' status ' , ' \n Draft \n Submitted \n Cancelled ' , 1 L , 1 L , 1 L , None ) , ( ' Purchase Receipt ' , ' currency ' , ' link:Currency ' , 0 L , 1 L , 1 L , None ) ,
( ' Quotation ' , ' customer ' , ' Customer ' , 0 L , None , 1 L , 0 L ) , ( ' Quotation ' , ' customer_address ' , ' Address ' , 0 L , None , 1 L , 0 L ) , ( ' Quotation ' , ' contact_person ' , ' Contact ' , 0 L , 0 L , 1 L , 0 L ) , ( ' Quotation ' , ' customer_name ' , None , 1 L , None , None , None ) , ( ' Quotation ' , ' lead ' , ' Lead ' , 0 L , None , 1 L , 0 L ) , ( ' Quotation ' , ' lead_name ' , None , 1 L , None , None , None ) , ( ' Quotation ' , ' order_type ' , ' \n Sales \n Maintenance ' , 0 L , 1 L , 0 L , None ) , ( ' Quotation ' , ' status ' , ' \n Draft \n Submitted \n Order Confirmed \n Order Lost \n Cancelled ' , 1 L , 1 L , 1 L , None ) , ( ' Quotation ' , ' territory ' , ' Territory ' , 0 L , 1 L , 1 L , 0 L ) , ( ' Quotation ' , ' currency ' , ' link:Currency ' , 0 L , 1 L , 1 L , None ) , ( ' Quotation ' , ' letter_head ' , ' link:Letter Head ' , 0 L , None , 1 L , None ) , ( ' Quotation ' , ' order_lost_reason ' , None , 1 L , None , 1 L , None ) , ( ' Quotation ' , ' contact_by ' , ' Profile ' , 0 L , None , 1 L , None ) , ( ' Quotation ' , ' contact_date ' , None , 0 L , None , 1 L , None ) , ( ' Quotation ' , ' to_discuss ' , None , 0 L , None , 1 L , None ) ,
( ' Receivable Voucher ' , ' debit_to ' , ' Account ' , 0 L , 1 L , 1 L , None ) , ( ' Receivable Voucher ' , ' customer_address ' , ' Address ' , 0 L , None , 1 L , None ) , ( ' Receivable Voucher ' , ' territory ' , ' Territory ' , 0 L , 1 L , 1 L , None ) , ( ' Receivable Voucher ' , ' paid_amount ' , None , 0 L , None , 1 L , None ) , ( ' Receivable Voucher ' , ' company ' , ' Company ' , 0 L , 1 L , 1 L , None ) , ( ' Receivable Voucher ' , ' fiscal_year ' , ' link:Fiscal Year ' , 0 L , 1 L , 1 L , None ) , ( ' Receivable Voucher ' , ' outstanding_amount ' , None , 1 L , None , 1 L , None ) ,
( ' Payable Voucher ' , ' supplier_address ' , ' Address ' , 0 L , None , 1 L , None ) , ( ' Payable Voucher ' , ' contact_display ' , None , 1 L , None , None , None ) , ( ' Payable Voucher ' , ' contact_mobile ' , None , 1 L , None , None , None ) , ( ' Payable Voucher ' , ' contact_email ' , None , 1 L , None , 1 L , None ) , ( ' Payable Voucher ' , ' currency ' , ' link:Currency ' , 0 L , 1 L , 1 L , None ) , ( ' Payable Voucher ' , ' conversion_rate ' , None , 0 L , 1 L , 1 L , None ) , ( ' Payable Voucher ' , ' company ' , ' Company ' , 0 L , 1 L , 1 L , None ) , ( ' Payable Voucher ' , ' fiscal_year ' , ' link:Fiscal Year ' , 0 L , 1 L , 1 L , None ) ,
( ' Sales Order ' , ' customer_address ' , ' Address ' , 0 L , None , 1 L , 0 L ) , ( ' Sales Order ' , ' contact_person ' , ' Contact ' , 0 L , None , 1 L , None ) , ( ' Sales Order ' , ' customer_name ' , None , 1 L , None , None , None ) , ( ' Sales Order ' , ' status ' , ' \n Draft \n Submitted \n Stopped \n Cancelled ' , 1 L , 1 L , 1 L , None ) , ( ' Sales Order ' , ' quotation_date ' , None , 1 L , 0 L , 1 L , 1 L ) , ( ' Sales Order ' , ' currency ' , ' link:Currency ' , 0 L , 1 L , 1 L , None ) , ( ' Sales Order ' , ' letter_head ' , ' link:Letter Head ' , 0 L , None , 1 L , None ) ,
( ' Sales Partner ' , ' territory ' , ' Territory ' , 0 L , 1 L , None , None ) ,
( ' Supplier ' , ' company ' , ' Company ' , 0 L , 1 L , None , None ) ]
for rec in update_fields :
webnotes . conn . sql ( " UPDATE `tabDocField` SET options= %s , permlevel= %s , reqd= %s , print_hide= %s , hidden= %s where parent= %s and fieldname= %s " , ( rec [ 2 ] , rec [ 3 ] , rec [ 4 ] , rec [ 5 ] , rec [ 6 ] , rec [ 0 ] , rec [ 1 ] ) )
def run_patch ( ) :
make_address ( )
make_address_from_customer ( )
make_address_from_supplier ( )
make_contact_from_contacttab ( )
delete_unwanted_fields ( )
reload_doc_files ( )
reload_mapper_files ( )
delete_unwanted_mapper_fields ( )
sync_docfield_properties ( )
#Old Customer Data Sync Patch for "Quotation, SO, PO, RV, PV, DN, PR, Installation Note, Maintenance Schedule, Customer Issue, Maintenance Visit"
#--------------------------------------------------------------
def run_old_data_sync_patch ( ) :
sync_quotation_customer_data ( )
sync_sales_order_customer_data ( )
sync_purchase_order_supplier_data ( )
sync_receivable_voucher_customer_data ( )
sync_payable_voucher_supplier_data ( )
sync_delivery_note_customer_data ( )
sync_purchase_receipt_supplier_data ( )
sync_installation_note_customer_data ( )
sync_maintenance_schedule_customer_data ( )
sync_customer_issue_customer_data ( )
sync_maintenance_visit_customer_data ( )
sync_lead_phone ( )
#Quotation
def sync_quotation_customer_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT tq . name as id , tq . customer ,
ta . name as customer_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM tabQuotation tq , tabAddress ta
WHERE tq . customer = ta . customer
AND tq . quotation_to = ' Customer '
AND tq . docstatus != 2
ORDER BY tq . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE tabQuotation SET
customer_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' customer_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT tq . name as id , tq . customer ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM tabQuotation tq , tabContact tc
WHERE tq . customer = tc . customer
AND tq . quotation_to = ' Customer '
AND tq . docstatus != 2
ORDER BY tq . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE tabQuotation SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Sales Order
def sync_sales_order_customer_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
ta . name as customer_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabSales Order ` t , tabAddress ta
WHERE t . customer = ta . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Phone: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabSales Order ` SET
customer_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' customer_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabSales Order ` t , tabContact tc
WHERE t . customer = tc . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabSales Order ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Purchase Order
def sync_purchase_order_supplier_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . supplier ,
ta . name as supplier_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabPurchase Order ` t , tabAddress ta
WHERE t . supplier = ta . supplier
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabPurchase Order ` SET
supplier_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' supplier_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . supplier ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabPurchase Order ` t , tabContact tc
WHERE t . supplier = tc . supplier
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabPurchase Order ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Sales Invoice
def sync_receivable_voucher_customer_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
ta . name as customer_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabReceivable Voucher ` t , tabAddress ta
WHERE t . customer = ta . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabReceivable Voucher ` SET
customer_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' customer_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabReceivable Voucher ` t , tabContact tc
WHERE t . customer = tc . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabReceivable Voucher ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Purchase Invoice
def sync_payable_voucher_supplier_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . supplier ,
ta . name as supplier_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabPayable Voucher ` t , tabAddress ta
WHERE t . supplier = ta . supplier
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabPayable Voucher ` SET
supplier_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' supplier_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . supplier ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabPayable Voucher ` t , tabContact tc
WHERE t . supplier = tc . supplier
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabPayable Voucher ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Delivery Note
def sync_delivery_note_customer_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
ta . name as customer_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabDelivery Note ` t , tabAddress ta
WHERE t . customer = ta . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabDelivery Note ` SET
customer_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' customer_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabDelivery Note ` t , tabContact tc
WHERE t . customer = tc . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabDelivery Note ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Purchase Receipt
def sync_purchase_receipt_supplier_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . supplier ,
ta . name as supplier_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabPurchase Receipt ` t , tabAddress ta
WHERE t . supplier = ta . supplier
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabPurchase Receipt ` SET
supplier_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' supplier_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . supplier ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabPurchase Receipt ` t , tabContact tc
WHERE t . supplier = tc . supplier
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabPurchase Receipt ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Installation Note
def sync_installation_note_customer_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
ta . name as customer_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabInstallation Note ` t , tabAddress ta
WHERE t . customer = ta . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabInstallation Note ` SET
customer_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' customer_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabInstallation Note ` t , tabContact tc
WHERE t . customer = tc . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabInstallation Note ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Maintenance Schedule
def sync_maintenance_schedule_customer_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
ta . name as customer_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabMaintenance Schedule ` t , tabAddress ta
WHERE t . customer = ta . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabMaintenance Schedule ` SET
customer_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' customer_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabMaintenance Schedule ` t , tabContact tc
WHERE t . customer = tc . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabMaintenance Schedule ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Customer Issue
def sync_customer_issue_customer_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
ta . name as customer_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabCustomer Issue ` t , tabAddress ta
WHERE t . customer = ta . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabCustomer Issue ` SET
customer_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' customer_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabCustomer Issue ` t , tabContact tc
WHERE t . customer = tc . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabCustomer Issue ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#Maintenance Visit
def sync_maintenance_visit_customer_data ( ) :
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
ta . name as customer_address , ta . address_line1 , ta . address_line2 , ta . city , ta . country , ta . pincode , ta . state , ta . phone
FROM ` tabMaintenance Visit ` t , tabAddress ta
WHERE t . customer = ta . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
address_display = cstr ( ( rec [ ' address_line1 ' ] and rec [ ' address_line1 ' ] or ' ' ) ) + cstr ( ( rec [ ' address_line2 ' ] and ' \n ' + rec [ ' address_line2 ' ] or ' ' ) ) + cstr ( ( rec [ ' city ' ] and ' \n ' + rec [ ' city ' ] or ' ' ) ) + cstr ( ( rec [ ' pincode ' ] and ' , ' + rec [ ' pincode ' ] or ' ' ) ) + cstr ( ( rec [ ' state ' ] and ' \n ' + rec [ ' state ' ] + ' , ' or ' ' ) ) + cstr ( ( rec [ ' country ' ] and rec [ ' country ' ] or ' ' ) ) + ' \n ' + cstr ( ( rec [ ' phone ' ] and ' Tel: ' + rec [ ' phone ' ] or ' ' ) )
webnotes . conn . sql ( """
UPDATE ` tabMaintenance Visit ` SET
customer_address = % s ,
address_display = % s
WHERE name = % s
""" ,(rec[ ' customer_address ' ],address_display,rec[ ' id ' ]))
data_rec = webnotes . conn . sql ( """
SELECT t . name as id , t . customer ,
tc . name as contact_person , tc . first_name , tc . last_name , tc . email_id , tc . phone as contact_phone , tc . mobile_no , tc . department , tc . designation
FROM ` tabMaintenance Visit ` t , tabContact tc
WHERE t . customer = tc . customer
AND t . docstatus != 2
ORDER BY t . name
""" , as_dict=1)
for rec in data_rec :
contact_display = ( rec [ ' first_name ' ] and rec [ ' first_name ' ] or ' ' ) + ( rec [ ' last_name ' ] and ' ' + rec [ ' last_name ' ] or ' ' )
webnotes . conn . sql ( """
UPDATE ` tabMaintenance Visit ` SET
contact_person = % s ,
contact_mobile = % s ,
contact_email = % s ,
contact_display = % s
WHERE name = % s
""" ,(rec[ ' contact_person ' ],rec[ ' mobile_no ' ],rec[ ' email_id ' ],contact_display,rec[ ' id ' ]))
#lead phone data sync
def sync_lead_phone ( ) :
webnotes . conn . sql ( """
update ignore tabLead set
phone = contact_no
where contact_no is not null
""" )