986452107b
* fix: Lead Source's module * fix: patch fix
30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
from __future__ import unicode_literals
|
|
import frappe
|
|
from frappe import _
|
|
|
|
def execute():
|
|
from erpnext.setup.setup_wizard.operations.install_fixtures import default_lead_sources
|
|
|
|
frappe.reload_doc('crm', 'doctype', 'lead_source')
|
|
|
|
frappe.local.lang = frappe.db.get_default("lang") or 'en'
|
|
|
|
for s in default_lead_sources:
|
|
insert_lead_source(_(s))
|
|
|
|
# get lead sources in existing forms (customized)
|
|
# and create a document if not created
|
|
for d in ['Lead', 'Opportunity', 'Quotation', 'Sales Order', 'Delivery Note', 'Sales Invoice']:
|
|
sources = frappe.db.sql_list('select distinct source from `tab{0}`'.format(d))
|
|
for s in sources:
|
|
if s and s not in default_lead_sources:
|
|
insert_lead_source(s)
|
|
|
|
# remove customization for source
|
|
for p in frappe.get_all('Property Setter', {'doc_type':d, 'field_name':'source', 'property':'options'}):
|
|
frappe.delete_doc('Property Setter', p.name)
|
|
|
|
def insert_lead_source(s):
|
|
if not frappe.db.exists('Lead Source', s):
|
|
frappe.get_doc(dict(doctype='Lead Source', source_name=s)).insert()
|