From 66c9940d73dbdf0c18833dc3bb8924a12084f91c Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 11 Dec 2015 15:02:58 +0530 Subject: [PATCH] [fix] [validation] website url should be public --- erpnext/stock/doctype/item/item.py | 36 +++++++++++++++++------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py index 489b1bda41d..c3c9671ca9a 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -89,23 +89,29 @@ class Item(WebsiteGenerator): auto_set_website_image = True self.website_image = self.image - if self.website_image: - file = frappe.db.get_value("File", filters={ - "file_url": self.website_image, - "attached_to_doctype": self.doctype, - "attached_to_name": self.name - }, fieldname=["name", "is_private"], as_dict=True) + if not self.website_image: + return - if not file: - if not auto_set_website_image: - frappe.msgprint(_("Website Image {0} attached to Item {1} cannot be found") - .format(self.website_image, self.name)) - self.website_image = None + # find if website image url exists as public + file = frappe.get_all("File", filters={ + "file_url": self.website_image + }, fields=["name", "is_private"], order_by="is_private asc", limit_poge_length=1) - elif file.is_private: - self.website_image = None - if not auto_set_website_image: - frappe.msgprint(_("Website Image should be a public file or website URL")) + if file: + file = file[0] + + if not file: + if not auto_set_website_image: + frappe.msgprint(_("Website Image {0} attached to Item {1} cannot be found") + .format(self.website_image, self.name)) + + self.website_image = None + + elif file.is_private: + if not auto_set_website_image: + frappe.msgprint(_("Website Image should be a public file or website URL")) + + self.website_image = None def make_thumbnail(self): """Make a thumbnail of `website_image`"""