From 2045e4f1f9de7131547c8880d7f8918039ba3a36 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Tue, 21 Nov 2017 15:47:30 +0530 Subject: [PATCH 1/5] [fix] while deleting a record also check links in single (#4447) * [fix] while deleting a record also check links in single * [fix] no HTML in translatable text * [fix] commonified message for link validation on document delelte --- frappe/model/delete_doc.py | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/frappe/model/delete_doc.py b/frappe/model/delete_doc.py index f528a4103c..703796738d 100644 --- a/frappe/model/delete_doc.py +++ b/frappe/model/delete_doc.py @@ -197,9 +197,11 @@ def check_if_doc_is_linked(doc, method="Delete"): # raise exception only if # linked to an non-cancelled doc when deleting # or linked to a submitted doc when cancelling - frappe.throw(_('Cannot delete or cancel because {0} {1} is linked with {2} {3}') - .format(doc.doctype, doc.name, linked_doctype, - item.parent or item.name), frappe.LinkExistsError) + reference_docname = item.parent or item.name + raise_link_exists_exception(doc, linked_doctype, reference_docname) + else: + if frappe.db.get_value(link_dt, None, link_field) == doc.name: + raise_link_exists_exception(doc, link_dt, link_dt) def check_if_doc_is_dynamically_linked(doc, method="Delete"): '''Raise `frappe.LinkExistsError` if the document is dynamically linked''' @@ -220,8 +222,7 @@ def check_if_doc_is_dynamically_linked(doc, method="Delete"): # raise exception only if # linked to an non-cancelled doc when deleting # or linked to a submitted doc when cancelling - frappe.throw(_('Cannot delete or cancel because {0} {1} is linked with {2} {3}').format(doc.doctype, - doc.name, df.parent, ""), frappe.LinkExistsError) + raise_link_exists_exception(doc, df.parent, df.parent) else: # dynamic link in table df["table"] = ", parent, parenttype, idx" if meta.istable else "" @@ -232,9 +233,23 @@ def check_if_doc_is_dynamically_linked(doc, method="Delete"): # raise exception only if # linked to an non-cancelled doc when deleting # or linked to a submitted doc when cancelling - frappe.throw(_('Cannot delete or cancel because {0} {1} is linked with {2} {3} {4}')\ - .format(doc.doctype, doc.name, refdoc.parenttype if meta.istable else df.parent, - refdoc.parent if meta.istable else refdoc.name,"Row: {0}".format(refdoc.idx) if meta.istable else ""), frappe.LinkExistsError) + + reference_doctype = refdoc.parenttype if meta.istable else df.parent + reference_docname = refdoc.parent if meta.istable else refdoc.name + at_position = "at Row: {0}".format(refdoc.idx) if meta.istable else "" + + raise_link_exists_exception(doc, reference_doctype, reference_docname, at_position) + +def raise_link_exists_exception(doc, reference_doctype, reference_docname, row=''): + doc_link = '{1}'.format(doc.doctype, doc.name) + reference_link = '{1}'.format(reference_doctype, reference_docname) + + #hack to display Single doctype only once in message + if reference_doctype == reference_docname: + reference_doctype = '' + + frappe.throw(_('Cannot delete or cancel because {0} {1} is linked with {2} {3} {4}') + .format(doc.doctype, doc_link, reference_doctype, reference_link, row), frappe.LinkExistsError) def delete_dynamic_links(doctype, name): delete_doc("ToDo", frappe.db.sql_list("""select name from `tabToDo` From 84aa0a6b338e0dce917bace538d945da6172c897 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Tue, 21 Nov 2017 15:56:50 +0530 Subject: [PATCH 2/5] [Fix] On add new row, data is not displaying in the previous row (#4517) --- frappe/public/js/frappe/form/grid_row.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 4e11f915c7..7d5ade67a9 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -308,7 +308,7 @@ frappe.ui.form.GridRow = Class.extend({ } else { this.row.toggleClass('editable-row', false); this.columns_list.forEach(function(column) { - if (column.df.hidden == false) { + if (!column.df.hidden) { column.static_area.toggle(true); } From 922b1237e7519d3b858b359e100adcd099db8908 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Tue, 21 Nov 2017 15:57:49 +0530 Subject: [PATCH 3/5] [Fix] Desktop icon page not showing for french language (#4518) --- frappe/core/page/modules_setup/includes/module_icons.html | 2 +- frappe/utils/jinja.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/core/page/modules_setup/includes/module_icons.html b/frappe/core/page/modules_setup/includes/module_icons.html index 12a23feecc..f388bbc97d 100644 --- a/frappe/core/page/modules_setup/includes/module_icons.html +++ b/frappe/core/page/modules_setup/includes/module_icons.html @@ -5,7 +5,7 @@ diff --git a/frappe/utils/jinja.py b/frappe/utils/jinja.py index b9fb9867ce..ce35a43788 100644 --- a/frappe/utils/jinja.py +++ b/frappe/utils/jinja.py @@ -153,6 +153,7 @@ def get_allowed_functions_for_jenv(): out['frappe']["db"] = { "get_value": frappe.db.get_value, "get_default": frappe.db.get_default, + "escape": frappe.db.escape, } return out From 387a3ad9e32db5f3831276f21ab87e8bd7fcdc14 Mon Sep 17 00:00:00 2001 From: Revant Nandgaonkar Date: Tue, 21 Nov 2017 16:01:06 +0530 Subject: [PATCH 4/5] [Fix] Breadcrumbs for Help Article (#4515) --- frappe/website/doctype/help_article/help_article.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/website/doctype/help_article/help_article.py b/frappe/website/doctype/help_article/help_article.py index 9d302c89e0..6220d0aff5 100644 --- a/frappe/website/doctype/help_article/help_article.py +++ b/frappe/website/doctype/help_article/help_article.py @@ -41,7 +41,7 @@ class HelpArticle(WebsiteGenerator): context.parents = self.get_parents(context) def get_parents(self, context): - return [{"title": context.category.category_name, "name":context.category.route}] + return [{"title": context.category.category_name, "route":context.category.route}] def get_list_context(context=None): filters = dict(published=1) From 5cd220dd0af9bfeb0f01b38d6f7780dd25153250 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Wed, 22 Nov 2017 18:32:53 +0600 Subject: [PATCH 5/5] bumped to version 9.2.16 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 85961bc93a..0d170fa833 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template -__version__ = '9.2.15' +__version__ = '9.2.16' __title__ = "Frappe Framework" local = Local()