Fixes in pos settings
diff --git a/erpnext/accounts/doctype/pos_setting/pos_setting.py b/erpnext/accounts/doctype/pos_setting/pos_setting.py
index 69228fd..29ae298 100755
--- a/erpnext/accounts/doctype/pos_setting/pos_setting.py
+++ b/erpnext/accounts/doctype/pos_setting/pos_setting.py
@@ -51,14 +51,24 @@
frappe.throw(link_dn +_(" does not belong to ") + self.doc.company)
def on_update(self):
- frappe.defaults.clear_default("is_pos")
+ self.set_defaults()
- pos_view_users = frappe.db.sql_list("""select user from `tabPOS Setting`""")
+ def on_trash(self):
+ self.set_defaults(include_current_pos=False)
+
+ def set_defaults(self, include_current_pos=True):
+ frappe.defaults.clear_default("is_pos")
+
+ if not include_current_pos:
+ condition = " where name != '%s'" % self.doc.name.replace("'", "\'")
+ else:
+ condition = ""
+
+ pos_view_users = frappe.db.sql_list("""select user
+ from `tabPOS Setting` {0}""".format(condition))
+
for user in pos_view_users:
if user:
frappe.defaults.set_user_default("is_pos", 1, user)
else:
- frappe.defaults.set_global_default("is_pos", 1)
-
- def on_trash(self):
- self.on_update()
\ No newline at end of file
+ frappe.defaults.set_global_default("is_pos", 1)
\ No newline at end of file