Merge branch 'shf_rename' of github.com:webnotes/erpnext into shf_rename
diff --git a/erpnext/patches/jan_mar_2012/rename_dt.py b/erpnext/patches/jan_mar_2012/rename_dt.py
index 171fe3f..aa50dfb 100644
--- a/erpnext/patches/jan_mar_2012/rename_dt.py
+++ b/erpnext/patches/jan_mar_2012/rename_dt.py
@@ -151,7 +151,11 @@
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 t1.parent, t1.fieldname from tabDocField t1, tabDocType t2 where t1.parent = t2.name and t1.fieldname in ('dt', 'doctype', 'doc_type', 'dt_type') and ifnull(t1.options, '') = '' and ifnull(t2.issingle, 0) = 0 and t1.parent in ('Custom Field', 'Custom Script')")
+ dt_list = webnotes.conn.sql("""select t1.parent, t1.fieldname from
+ tabDocField t1, tabDocType t2 where t1.parent = t2.name and
+ t1.fieldname in ('dt', 'doctype', 'doc_type', 'dt_type') and
+ ifnull(t1.options, '') = '' and ifnull(t2.issingle, 0) = 0 and
+ t1.parent in ('Custom Field', 'Custom Script', 'Property Setter')""")
for dt in dt_list:
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))
diff --git a/erpnext/patches/mar_2012/clean_property_setter.py b/erpnext/patches/mar_2012/clean_property_setter.py
index 12e0a9e..2d83fb1 100644
--- a/erpnext/patches/mar_2012/clean_property_setter.py
+++ b/erpnext/patches/mar_2012/clean_property_setter.py
@@ -6,9 +6,35 @@
* Remove docfield property setters if fieldname doesn't exist
* Remove prev_field properties if value fieldname doesn't exist
"""
+ change_property_setter_fieldnames()
clean_doctype_properties()
clean_docfield_properties()
+def change_property_setter_fieldnames():
+ import webnotes.model.sync
+ webnotes.model.sync.sync('core', 'property_setter')
+ docfield_list = webnotes.conn.sql("""\
+ SELECT name, fieldname FROM `tabDocField`""", as_list=1)
+ custom_field_list = webnotes.conn.sql("""\
+ SELECT name, fieldname FROM `tabCustom Field`""", as_list=1)
+ field_list = docfield_list + custom_field_list
+ property_setter_list = webnotes.conn.sql("""\
+ SELECT name, doc_name, value, property
+ FROM `tabProperty Setter`
+ WHERE doctype_or_field='DocField'""")
+ field_dict = dict(field_list)
+ for name, doc_name, value, prop in property_setter_list:
+ if doc_name in field_dict:
+ webnotes.conn.sql("""\
+ UPDATE `tabProperty Setter`
+ SET field_name = %s
+ WHERE name = %s""", (field_dict.get(doc_name), name))
+ if value in field_dict and prop=='previous_field':
+ webnotes.conn.sql("""\
+ UPDATE `tabProperty Setter`
+ SET value = %s
+ WHERE name = %s""", (field_dict.get(value), name))
+
def clean_doctype_properties():
desc = webnotes.conn.sql("DESC `tabDocType`", as_dict=1)
property_list = '", "'.join([d.get('Field') for d in desc])
diff --git a/erpnext/patches/mar_2012/create_custom_fields.py b/erpnext/patches/mar_2012/create_custom_fields.py
new file mode 100644
index 0000000..759a4d5
--- /dev/null
+++ b/erpnext/patches/mar_2012/create_custom_fields.py
@@ -0,0 +1,115 @@
+# do not run this patch
+field_list = [
+['Contact', 'notes'],
+['Contact', 'birthday'],
+['Contact', 'anniversary'],
+['Customer', 'state_tax_type'],
+['Customer', 'tin_no'],
+['Customer', 'excise_registration_number'],
+['Customer', 'customer_discount_details'],
+['Customer', 'notes'],
+['Customer', 'follow_up_section'],
+['Customer', 'follow_up'],
+['Delivery Note', 'shipping_contact_no'],
+['Delivery Note', 'shipping_tin_no'],
+['Delivery Note', 'shipping_excise_no'],
+['Delivery Note', 'tin_no'],
+['Delivery Note', 'excise_no'],
+['Delivery Note Detail', 'cetsh_number'],
+['Item', 'base_material'],
+['Item', 'tool_type'],
+['Item', 'no_of_flutes'],
+['Item', 'special_treatment'],
+['Item', 'length'],
+['Item', 'width'],
+['Item', 'height_dia'],
+['Item', 'pl_item'],
+['Item', 'cetsh_number'],
+['Item', 'stock_maintained'],
+['Item', 'is_rm'],
+['Journal Voucher Detail', 'line_remarks'],
+['Lead', 'designation'],
+['Purchase Order', 'challan_number'],
+['Quotation', 'cust_enq_no'],
+['Quotation', 'enq_date'],
+['Quotation', 'quote_valid'],
+['Quotation', 'due_date'],
+['Receivable Voucher', 'voucher_time'],
+['Receivable Voucher', 'removal_time'],
+['Receivable Voucher', 'removal_date'],
+['Receivable Voucher', 'shipping_address'],
+['Receivable Voucher', 'shipping_location'],
+['Receivable Voucher', 'ship_to'],
+['Receivable Voucher', 'shipping_contact_no'],
+['Receivable Voucher', 'shipping_excise_no'],
+['Receivable Voucher', 'shipping_tin_no'],
+['Receivable Voucher', 'po_no'],
+['Receivable Voucher', 'po_date'],
+['Receivable Voucher', 'lr_no'],
+['Receivable Voucher', 'transporters'],
+['Receivable Voucher', 'ship_terms'],
+['Receivable Voucher', 'tin_no'],
+['Receivable Voucher', 'excise_no'],
+['RV Detail', 'cetsh_number'],
+['Sales Order', 'shipping_contact_no'],
+['Sales Order', 'shipping_tin_no'],
+['Sales Order', 'shipping_excise_no'],
+['Sales Order', 'tin_no'],
+['Sales Order', 'excise_number'],
+['Sales Order Detail', 'cetsh_number'],
+['Sales Order Detail', 'prd_notes'],
+['Shipping Address', 'phone_no'],
+['Shipping Address', 'tin_no'],
+['Shipping Address', 'excise_no'],
+['Stock Entry', 'process_custom'],
+['Stock Entry', 'city'],
+['Stock Entry', 'address_line_2'],
+['Stock Entry', 'address_line_1'],
+['Stock Entry', 'comp_other'],
+['Stock Entry', 'mobile_no'],
+['Stock Entry', 'phone_no'],
+['Stock Entry', 'country'],
+['Stock Entry', 'state'],
+['Stock Entry', 'challan_number'],
+['Stock Entry Detail', 'machine'],
+['Stock Entry Detail', 'worker'],
+['Supplier', 'notes'],
+['Supplier', 'purchase_other_charges'],
+['Supplier', 'tax_details'],
+['Supplier', 'tin_number'],
+['Supplier', 'excise_regd_number'],
+['Supplier', 'service_tax_regd_number'],
+['Warehouse', 'comp_other'],
+['Warehouse', 'process'],
+['Warehouse', 'country'],
+['Warehouse', 'tax_registration_number'],
+['Warehouse Type', 'process'],
+['Workstation', 'maintenance_data'],
+]
+
+
+import webnotes
+from webnotes.model.code import get_obj
+from webnotes.model.doc import Document
+
+def execute():
+ import webnotes.model.sync
+ webnotes.model.sync.sync('core', 'custom_field')
+ for f in field_list:
+ res = webnotes.conn.sql("""SELECT name FROM `tabCustom Field`
+ WHERE dt=%s AND fieldname=%s""", (f[0], f[1]))
+ if res: continue
+ docfield = webnotes.conn.sql("""SELECT * FROM `tabDocField`
+ WHERE parent=%s AND fieldname=%s""", (f[0], f[1]), as_dict=1)
+ if not docfield: continue
+ custom_field = docfield[0]
+
+ # scrub custom field dict
+ custom_field['dt'] = custom_field['parent']
+ del custom_field['parent']
+
+ d = Document('Custom Field', fielddata=custom_field)
+ d.name = custom_field['dt'] + '-' + custom_field['fieldname']
+ d.save(1, ignore_fields=1)
+ #obj = get_obj(doc=d)
+ #obj.on_update()
diff --git a/erpnext/patches/mar_2012/doctype_get_refactor.py b/erpnext/patches/mar_2012/doctype_get_refactor.py
index fb8c65a..147fb93 100644
--- a/erpnext/patches/mar_2012/doctype_get_refactor.py
+++ b/erpnext/patches/mar_2012/doctype_get_refactor.py
@@ -8,8 +8,6 @@
* Remove 'no_column' from DocField
* Drop table DocFormat
"""
- change_property_setter_fieldnames()
-
import webnotes.model.sync
webnotes.model.sync.sync_all(force=1)
@@ -19,33 +17,6 @@
# do at last - needs commit due to DDL statements
change_to_decimal()
-def change_property_setter_fieldnames():
- import webnotes.model.sync
- webnotes.model.sync.sync('core', 'property_setter')
- docfield_list = webnotes.conn.sql("""\
- SELECT name, fieldname FROM `tabDocField`""", as_list=1)
- custom_field_list = webnotes.conn.sql("""\
- SELECT name, fieldname FROM `tabCustom Field`""", as_list=1)
- field_list = docfield_list + custom_field_list
- property_setter_list = webnotes.conn.sql("""\
- SELECT name, doc_name, value, property
- FROM `tabProperty Setter`
- WHERE doctype_or_field='DocField'""")
- field_dict = dict(field_list)
- for name, doc_name, value, prop in property_setter_list:
- if doc_name in field_dict:
- webnotes.conn.sql("""\
- UPDATE `tabProperty Setter`
- SET field_name = %s
- WHERE name = %s""", (field_dict.get(doc_name), name))
- if value in field_dict and prop=='previous_field':
- webnotes.conn.sql("""\
- UPDATE `tabProperty Setter`
- SET value = %s
- WHERE name = %s""", (field_dict.get(value), name))
- import patches.mar_2012.clean_property_setter
- patches.mar_2012.clean_property_setter.execute()
-
def handle_custom_fields():
"""
* Assign idx to custom fields
diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py
index 94164f0..f134ed2 100644
--- a/erpnext/patches/patch_list.py
+++ b/erpnext/patches/patch_list.py
@@ -233,6 +233,11 @@
'description': 'Deletes non required doctypes'
},
{
+ 'patch_module': 'patches.mar_2012',
+ 'patch_file': 'clean_property_setter',
+ 'description': 'Patch related to property setter cleanup'
+ },
+ {
'patch_module': 'patches.jan_mar_2012',
'patch_file': 'rename_dt',
'description': 'Rename DocType Patch'
diff --git a/erpnext/selling/doctype/sales_common/sales_common.js b/erpnext/selling/doctype/sales_common/sales_common.js
index 52f3124..a2ff515 100644
--- a/erpnext/selling/doctype/sales_common/sales_common.js
+++ b/erpnext/selling/doctype/sales_common/sales_common.js
@@ -466,14 +466,14 @@
doc = locals[doc.doctype][doc.name];
// Make Display Area
- cur_frm.fields_dict['Taxes and Charges Calculation'].disp_area.innerHTML =
+ cur_frm.fields_dict['other_charges_calculation'].disp_area.innerHTML =
'<b style="padding: 8px 0px;">Calculation Details for Taxes and Charges:</b>';
var cl = getchildren(tname, doc.name, fname);
var tax = getchildren('Sales Taxes and Charges', doc.name, other_fname,doc.doctype);
// Make display table
- var otc = make_table(cur_frm.fields_dict['Taxes and Charges Calculation'].disp_area,
+ var otc = make_table(cur_frm.fields_dict['other_charges_calculation'].disp_area,
cl.length + 1, tax.length + 1, '90%', [], { border:'1px solid #AAA', padding:'2px' });
$y(otc,{marginTop:'8px'});