sync doctype - first cut
diff --git a/erpnext/patches/mar_2012/doctype_get_refactor.py b/erpnext/patches/mar_2012/doctype_get_refactor.py
index 5f7ae55..37c752f 100644
--- a/erpnext/patches/mar_2012/doctype_get_refactor.py
+++ b/erpnext/patches/mar_2012/doctype_get_refactor.py
@@ -8,12 +8,37 @@
* Remove 'no_column' from DocField
* Drop table DocFormat
"""
+ change_property_setter_fieldnames()
handle_custom_fields()
create_file_list()
# do at last - needs commit due to DDL statements
change_to_decimal()
+def change_property_setter_fieldnames():
+ 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 handle_custom_fields():
"""
* Assign idx to custom fields
@@ -64,12 +89,13 @@
webnotes.conn.sql("""\
DELETE FROM `tabProperty Setter`
WHERE doc_type = %s
- AND doc_name = %s
- AND property = 'previous_field'""", (f.get('dt'), f.get('name')))
+ AND field_name = %s
+ AND property = 'previous_field'""", (f.get('dt'), f.get('fieldname')))
+
ps = Document('Property Setter', fielddata = {
'doctype_or_field': 'DocField',
'doc_type': f.get('dt'),
- 'doc_name': f.get('name'),
+ 'field_name': f.get('fieldname'),
'property': 'previous_field',
'value': prev_field,
'property_type': 'Data',
@@ -85,19 +111,6 @@
f.get('fieldname')))
def create_file_list():
- tables = webnotes.conn.sql("SHOW TABLES")
- exists = []
- for tab in tables:
- if not tab: continue
- desc = webnotes.conn.sql("DESC `%s`" % tab[0], as_dict=1)
-
- for d in desc:
- if d.get('Field')=='file_list':
- exists.append(tab[0])
- break
-
- print exists
-
should_exist = ['Website Settings', 'Web Page', 'Timesheet', 'Ticket',
'Support Ticket', 'Supplier', 'Style Settings', 'Stock Reconciliation',
'Stock Entry', 'Serial No', 'Sales Order', 'Receivable Voucher',
@@ -113,14 +126,12 @@
from webnotes.model.code import get_obj
for dt in should_exist:
- if dt in exists: continue
obj = get_obj('DocType', dt, with_children=1)
obj.doc.allow_attach = 1
obj.doc.save()
obj.make_file_list()
obj.on_update()
-
def change_to_decimal():
webnotes.conn.commit()
tables = webnotes.conn.sql("SHOW TABLES")
diff --git a/version.num b/version.num
index 7ada46f..6fb439a 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-970
\ No newline at end of file
+979
\ No newline at end of file