From d40d08fb66a4d9e19f5a35be47fb9e5b1514296b Mon Sep 17 00:00:00 2001 From: Saurabh Date: Tue, 22 Nov 2016 22:18:38 +0530 Subject: [PATCH 1/3] [fix] check against all linked documents while canceling or deleting (#2360) --- frappe/model/delete_doc.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frappe/model/delete_doc.py b/frappe/model/delete_doc.py index d9efc3155c..ef2d213e9e 100644 --- a/frappe/model/delete_doc.py +++ b/frappe/model/delete_doc.py @@ -168,16 +168,16 @@ def check_if_doc_is_linked(doc, method="Delete"): for link_dt, link_field, issingle in link_fields: if not issingle: - item = frappe.db.get_value(link_dt, {link_field:doc.name}, - ["name", "parent", "parenttype", "docstatus"], as_dict=True) - if item and ((item.parent or item.name) != doc.name) \ - and ((method=="Delete" and item.docstatus<2) or (method=="Cancel" and item.docstatus==1)): - # 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, item.parenttype if item.parent else link_dt, - item.parent or item.name), frappe.LinkExistsError) + for item in frappe.db.get_values(link_dt, {link_field:doc.name}, + ["name", "parent", "parenttype", "docstatus"], as_dict=True): + if item and ((item.parent or item.name) != doc.name) \ + and ((method=="Delete" and item.docstatus<2) or (method=="Cancel" and item.docstatus==1)): + # 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, item.parenttype if item.parent else link_dt, + item.parent or item.name), frappe.LinkExistsError) def check_if_doc_is_dynamically_linked(doc, method="Delete"): '''Raise `frappe.LinkExistsError` if the document is dynamically linked''' From 25a9df4364d59a6097fceec76d5f9f0125dc9f7b Mon Sep 17 00:00:00 2001 From: robert schouten Date: Wed, 23 Nov 2016 15:28:47 +0800 Subject: [PATCH 2/3] [fix] charts dont get carried across reports --- frappe/desk/query_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index c7a33d2c83..431f341ab2 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -75,7 +75,7 @@ def run(report_name, filters=None, user=None): frappe.msgprint(_("Must have report permission to access this report."), raise_exception=True) - columns, result, message, chart = [], [], None, {} + columns, result, message, chart = [], [], None, None if report.report_type=="Query Report": if not report.query: frappe.msgprint(_("Must specify a Query to run"), raise_exception=True) From d39510f915605ac6a4da23ec386f6aa8d2193c27 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 23 Nov 2016 15:18:48 +0600 Subject: [PATCH 3/3] bumped to version 7.1.19 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 495b94a846..1b93302cce 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -13,7 +13,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template -__version__ = '7.1.18' +__version__ = '7.1.19' __title__ = "Frappe Framework" local = Local()