Fixes in address template
diff --git a/erpnext/utilities/doctype/address_template/address_template.py b/erpnext/utilities/doctype/address_template/address_template.py
index 4ac8054..c8d3470 100644
--- a/erpnext/utilities/doctype/address_template/address_template.py
+++ b/erpnext/utilities/doctype/address_template/address_template.py
@@ -8,16 +8,16 @@
class AddressTemplate(Document):
def validate(self):
- defaults = frappe.db.get_values("Address Template",
- {"is_default":1, "name":("!=", self.name)})
+ self.defaults = frappe.db.get_values("Address Template", {"is_default":1, "name":("!=", self.name)})
if not self.is_default:
- if not defaults:
+ if not self.defaults:
self.is_default = 1
frappe.msgprint(_("Setting this Address Template as default as there is no other default"))
- else:
- if defaults:
- for d in defaults:
- frappe.db.set_value("Address Template", d[0], "is_default", 0)
+
+ def on_update(self):
+ if self.is_default and self.defaults:
+ for d in self.defaults:
+ frappe.db.set_value("Address Template", d[0], "is_default", 0)
def on_trash(self):
if self.is_default:
diff --git a/erpnext/utilities/doctype/address_template/test_address_template.py b/erpnext/utilities/doctype/address_template/test_address_template.py
index 953c852..d4e3de0 100644
--- a/erpnext/utilities/doctype/address_template/test_address_template.py
+++ b/erpnext/utilities/doctype/address_template/test_address_template.py
@@ -20,3 +20,8 @@
b.save()
self.assertEqual(frappe.db.get_value("Address Template", "India", "is_default"), 0)
+
+ def tearDown(self):
+ a = frappe.get_doc("Address Template", "India")
+ a.is_default = 1
+ a.save()