Move related property setters to custom field property
diff --git a/patches/1401/__init__.py b/patches/1401/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/patches/1401/__init__.py
diff --git a/patches/1401/p01_move_related_property_setters_to_custom_field.py b/patches/1401/p01_move_related_property_setters_to_custom_field.py
new file mode 100644
index 0000000..6b28553
--- /dev/null
+++ b/patches/1401/p01_move_related_property_setters_to_custom_field.py
@@ -0,0 +1,35 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+import webnotes
+from webnotes.model.meta import get_field
+
+def execute():
+ webnotes.reload_doc("core", "doctype", "custom_field")
+
+ custom_fields = {}
+ for cf in webnotes.conn.sql("""select dt, fieldname from `tabCustom Field`""", as_dict=1):
+ custom_fields.setdefault(cf.dt, []).append(cf.fieldname)
+
+ delete_list = []
+ for ps in webnotes.conn.sql("""select * from `tabProperty Setter`""", as_dict=1):
+ if ps.field_name in custom_fields.get(ps.doc_type, []):
+
+ if ps.property == "previous_field":
+ property_name = "insert_after"
+
+ field_meta = get_field(ps.doc_type, ps.value)
+ property_value = field_meta.label if field_meta else ""
+ else:
+ property_name = ps.property
+ property_value =ps.value
+
+ webnotes.conn.sql("""update `tabCustom Field`
+ set %s=%s where dt=%s and fieldname=%s""" % (property_name, '%s', '%s', '%s'),
+ (property_value, ps.doc_type, ps.field_name))
+
+ delete_list.append(ps.name)
+
+ if delete_list:
+ webnotes.conn.sql("""delete from `tabProperty Setter` where name in (%s)""" %
+ ', '.join(['%s']*len(delete_list)), tuple(delete_list))
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 608ba77..e4d2975 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -263,4 +263,5 @@
"patches.1311.p08_email_digest_recipients",
"execute:webnotes.delete_doc('DocType', 'Warehouse Type')",
"patches.1312.p02_update_item_details_in_item_price",
+ "patches.1401.p01_move_related_property_setters_to_custom_field",
]
\ No newline at end of file