fix: broken patches (backport #29067) (#29406)

* chore: patch fixes

(cherry picked from commit 8b5b146f6d)

# Conflicts:
#	erpnext/patches/v13_0/make_homepage_products_website_items.py

* fix: remove desktop icons while deleting sales reports

(cherry picked from commit 5f72026cb9)

* refactor: dont ignore dangerous exceptions in patches

(cherry picked from commit 0aa1ea8aeb)

* fix: make patch kinda idempotent

with previous query rerunning would've caused all values to become 0.

* chore: conflicts

* fix: check type before patching

Co-authored-by: Saurabh <saurabh6790@gmail.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
This commit is contained in:
mergify[bot]
2022-01-25 11:14:08 +05:30
committed by GitHub
parent b8fbfed096
commit f469ec87d9
4 changed files with 34 additions and 10 deletions

View File

@@ -2,14 +2,28 @@ import frappe
def execute():
try:
frappe.db.sql("UPDATE `tabStock Ledger Entry` SET is_cancelled = 0 where is_cancelled in ('', NULL, 'No')")
frappe.db.sql("UPDATE `tabSerial No` SET is_cancelled = 0 where is_cancelled in ('', NULL, 'No')")
#handle type casting for is_cancelled field
module_doctypes = (
('stock', 'Stock Ledger Entry'),
('stock', 'Serial No'),
('accounts', 'GL Entry')
)
frappe.db.sql("UPDATE `tabStock Ledger Entry` SET is_cancelled = 1 where is_cancelled = 'Yes'")
frappe.db.sql("UPDATE `tabSerial No` SET is_cancelled = 1 where is_cancelled = 'Yes'")
for module, doctype in module_doctypes:
if (not frappe.db.has_column(doctype, "is_cancelled")
or frappe.db.get_column_type(doctype, "is_cancelled").lower() == "int(1)"
):
continue
frappe.reload_doc("stock", "doctype", "stock_ledger_entry")
frappe.reload_doc("stock", "doctype", "serial_no")
except Exception:
pass
frappe.db.sql("""
UPDATE `tab{doctype}`
SET is_cancelled = 0
where is_cancelled in ('', NULL, 'No')"""
.format(doctype=doctype))
frappe.db.sql("""
UPDATE `tab{doctype}`
SET is_cancelled = 1
where is_cancelled = 'Yes'"""
.format(doctype=doctype))
frappe.reload_doc(module, "doctype", frappe.scrub(doctype))