From 3abd00f3bb2b26beaeeea7bee03775f7368ceb08 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 5 Sep 2022 15:32:48 +0530 Subject: [PATCH] fix: Migrate old lead notes as per the new format --- erpnext/patches.txt | 1 + ...isting_lead_notes_as_per_the_new_format.py | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 erpnext/patches/v14_0/migrate_existing_lead_notes_as_per_the_new_format.py diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 4729add16b..f48b2a1bb0 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -307,6 +307,7 @@ erpnext.patches.v13_0.job_card_status_on_hold erpnext.patches.v14_0.copy_is_subcontracted_value_to_is_old_subcontracting_flow erpnext.patches.v14_0.migrate_gl_to_payment_ledger erpnext.patches.v14_0.crm_ux_cleanup +erpnext.patches.v14_0.migrate_existing_lead_notes_as_per_the_new_format erpnext.patches.v14_0.remove_india_localisation # 14-07-2022 erpnext.patches.v13_0.fix_number_and_frequency_for_monthly_depreciation erpnext.patches.v14_0.remove_hr_and_payroll_modules # 20-07-2022 diff --git a/erpnext/patches/v14_0/migrate_existing_lead_notes_as_per_the_new_format.py b/erpnext/patches/v14_0/migrate_existing_lead_notes_as_per_the_new_format.py new file mode 100644 index 0000000000..e97651e557 --- /dev/null +++ b/erpnext/patches/v14_0/migrate_existing_lead_notes_as_per_the_new_format.py @@ -0,0 +1,21 @@ +import frappe +from frappe.utils import cstr, strip_html + + +def execute(): + for doctype in ("Lead", "Prospect"): + if not frappe.db.has_column(doctype, "notes"): + continue + + dt = frappe.qb.DocType(doctype) + records = ( + frappe.qb.from_(dt) + .select(dt.name, dt.notes, dt.modified_by, dt.modified) + .where(dt.notes.isnotnull() & dt.notes != "") + ).run() + + for d in records: + if strip_html(cstr(d.notes)).strip(): + doc = frappe.get_doc(doctype, d.name) + doc.append("notes", {"note": d.notes, "added_by": d.modified_by, "added_on": d.modified}) + doc.save()