[fix] delete file records created via item.py even if website_image file didn't exist

This commit is contained in:
Anand Doshi 2015-10-27 16:56:22 +05:30
parent fa0adafa82
commit c794ca53fb
4 changed files with 44 additions and 6 deletions

View File

@ -228,3 +228,4 @@ erpnext.patches.v6_4.set_user_in_contact
erpnext.patches.v6_4.make_image_thumbnail #2015-10-20
erpnext.patches.v6_5.show_in_website_for_template_item
erpnext.patches.v6_4.fix_expense_included_in_valuation
erpnext.patches.v6_6.fix_website_image

View File

@ -0,0 +1 @@
from __future__ import unicode_literals

View File

@ -0,0 +1,32 @@
from __future__ import unicode_literals
import frappe
from frappe.utils import encode
def execute():
"""Fix the File records created via item.py even if the website_image file didn't exist"""
for item in frappe.db.sql_list("""select name from `tabItem`
where website_image is not null and website_image != ''
and website_image like '/files/%'
and exists (
select name from `tabFile`
where attached_to_doctype='Item'
and attached_to_name=`tabItem`.name
and file_url=`tabItem`.website_image
and (file_name is null or file_name = '')
)"""):
item = frappe.get_doc("Item", item)
file = frappe.get_doc("File", {
"attached_to_doctype": "Item",
"attached_to_name": item.name,
"file_url": item.website_image
})
try:
file.validate_file()
except IOError:
print encode(item.website_image), "does not exist"
file.delete()
item.db_set("website_image", None, update_modified=False)

View File

@ -104,12 +104,16 @@ class Item(WebsiteGenerator):
# for CSV import
if not file_doc:
file_doc = frappe.get_doc({
"doctype": "File",
"file_url": self.website_image,
"attached_to_doctype": "Item",
"attached_to_name": self.name
}).insert()
try:
file_doc = frappe.get_doc({
"doctype": "File",
"file_url": self.website_image,
"attached_to_doctype": "Item",
"attached_to_name": self.name
}).insert()
except IOError:
self.website_image = None
if file_doc:
if not file_doc.thumbnail_url: