From 08b27f7d20bc6591601ef955476884eab8a07142 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 21 May 2014 12:35:23 +0530 Subject: [PATCH 1/5] minor fixes for todo deletion --- frappe/widgets/form/assign_to.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frappe/widgets/form/assign_to.py b/frappe/widgets/form/assign_to.py index d984ec3e68..bef42469b5 100644 --- a/frappe/widgets/form/assign_to.py +++ b/frappe/widgets/form/assign_to.py @@ -68,16 +68,19 @@ def add(args=None): @frappe.whitelist() def remove(doctype, name, assign_to): """remove from todo""" - todo = frappe.get_doc("ToDo", {"reference_type":doctype, "reference_name":name, "owner":assign_to, "status":"Open"}) - todo.status = "Closed" - todo.save(ignore_permissions=True) + try: + todo = frappe.get_doc("ToDo", {"reference_type":doctype, "reference_name":name, "owner":assign_to, "status":"Open"}) + todo.status = "Closed" + todo.save(ignore_permissions=True) + + notify_assignment(todo.assigned_by, todo.owner, todo.reference_type, todo.reference_name) + except: + pass # clear assigned_to if field exists if frappe.get_meta(doctype).get_field("assigned_to"): frappe.db.set_value(doctype, name, "assigned_to", None) - notify_assignment(todo.assigned_by, todo.owner, todo.reference_type, todo.reference_name) - return get({"doctype": doctype, "name": name}) def clear(doctype, name): From f15863babc6a37a59873f1e6e7d44c8cfef1ff3b Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 28 May 2014 16:11:03 +0530 Subject: [PATCH 2/5] Rename doc fixes frappe/erpnext#1692 --- frappe/model/rename_doc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index a34e72ab96..a23d52e84a 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -23,7 +23,7 @@ def rename_doc(doctype, old, new, force=False, merge=False, ignore_permissions=F # call before_rename out = frappe.get_doc(doctype, old).run_method("before_rename", old, new, merge) or {} - new = (out.get("new") or new) if isinstance(out, dict) else new + new = (out.get("new") or new) if isinstance(out, dict) else (out or new) new = validate_rename(doctype, new, meta, merge, force, ignore_permissions) if not merge: From c454efaa706cdbc5bb50fe55c99d015e5aa442c7 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 28 May 2014 17:11:38 +0530 Subject: [PATCH 3/5] removed print statement --- frappe/country_info.py | 14 ++++++-------- frappe/templates/pages/style_settings.py | 2 -- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/frappe/country_info.py b/frappe/country_info.py index 81b045acd3..a4cd629bce 100644 --- a/frappe/country_info.py +++ b/frappe/country_info.py @@ -11,7 +11,7 @@ def get_country_info(country=None): data = frappe._dict(data.get(country, {})) if not 'date_format' in data: data.date_format = "dd-mm-yyyy" - + return data def get_all(): @@ -19,7 +19,7 @@ def get_all(): all_data = json.loads(local_info.read()) return all_data -@frappe.whitelist() +@frappe.whitelist() def get_country_timezone_info(): import pytz return { @@ -30,15 +30,13 @@ def get_country_timezone_info(): def update(): with open(os.path.join(os.path.dirname(__file__), "currency_info.json"), "r") as nformats: nformats = json.loads(nformats.read()) - + all_data = get_all() - + for country in all_data: data = all_data[country] - data["number_format"] = nformats.get(data.get("currency", "default"), + data["number_format"] = nformats.get(data.get("currency", "default"), nformats.get("default"))["display"] - - print all_data - + with open(os.path.join(os.path.dirname(__file__), "country_info.json"), "w") as local_info: local_info.write(json.dumps(all_data, indent=1)) diff --git a/frappe/templates/pages/style_settings.py b/frappe/templates/pages/style_settings.py index dea351823e..5e46c983a0 100644 --- a/frappe/templates/pages/style_settings.py +++ b/frappe/templates/pages/style_settings.py @@ -12,8 +12,6 @@ def get_context(context): doc = frappe.get_doc("Style Settings", "Style Settings") prepare(doc) - print doc.page_header_color - return { "doc": doc } def prepare(doc): From 296fbcb52cb400aaeeac16df4d7792d09ee53ebe Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 29 May 2014 19:46:34 +0530 Subject: [PATCH 4/5] On cancel, check if doc is linked with other docs --- frappe/model/document.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frappe/model/document.py b/frappe/model/document.py index 8ff78e119d..276ea16470 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -400,9 +400,15 @@ class Document(BaseDocument): self.run_method("on_submit") elif self._action=="cancel": self.run_method("on_cancel") + self.check_no_back_links_exist() elif self._action=="update_after_submit": self.run_method("on_update_after_submit") + def check_no_back_links_exist(self): + from frappe.model.delete_doc import check_if_doc_is_linked + if not self.get("ignore_links"): + check_if_doc_is_linked(self, method="Cancel") + @staticmethod def whitelist(f): f.whitelisted = True From 934eb724e048c0244a15ec5061a8ee573190cd74 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 30 May 2014 11:30:10 +0530 Subject: [PATCH 5/5] catch proper exception --- frappe/widgets/form/assign_to.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/widgets/form/assign_to.py b/frappe/widgets/form/assign_to.py index bef42469b5..1605ea79c3 100644 --- a/frappe/widgets/form/assign_to.py +++ b/frappe/widgets/form/assign_to.py @@ -74,7 +74,7 @@ def remove(doctype, name, assign_to): todo.save(ignore_permissions=True) notify_assignment(todo.assigned_by, todo.owner, todo.reference_type, todo.reference_name) - except: + except frappe.DoesNotExistError: pass # clear assigned_to if field exists