From 01411cde43ff9b781d5ed2516b88758607596518 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Tue, 17 Sep 2024 18:27:53 +0530 Subject: [PATCH] fix: added reset form script button to reset erpnext form script --- .../erpnext_crm_settings.js | 32 +++++++++++++++++++ .../erpnext_crm_settings.py | 1 + 2 files changed, 33 insertions(+) diff --git a/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.js b/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.js index e69de29b..becfd559 100644 --- a/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.js +++ b/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.js @@ -0,0 +1,32 @@ +// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors +// For license information, please see license.txt + +frappe.ui.form.on("ERPNext CRM Settings", { + refresh(frm) { + if (!frm.doc.enabled) return; + frm.add_custom_button(__("Reset ERPNext Form Script"), () => { + frappe.confirm( + __( + "Are you sure you want to reset 'Create Quotation from CRM Deal' Form Script?" + ), + () => frm.trigger("update_form_script") + ); + }); + }, + async update_form_script() { + let script = await frappe.call( + "crm.fcrm.doctype.erpnext_crm_settings.erpnext_crm_settings.get_crm_form_script" + ); + if (script.message) { + let form_script = await frappe.db.set_value( + "CRM Form Script", + "Create Quotation from CRM Deal", + "script", + script.message + ); + if (form_script.message) { + frappe.msgprint(__("Form Script updated successfully")); + } + } + }, +}); diff --git a/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.py b/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.py index 32ec2fe4..7304d792 100644 --- a/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.py +++ b/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.py @@ -208,6 +208,7 @@ def create_customer_in_remote_site(customer, erpnext_crm_settings): ) frappe.throw(_("Error while creating customer in ERPNext, check error log for more details")) +@frappe.whitelist() def get_crm_form_script(): return """ async function setupForm({ doc, call, $dialog, updateField, createToast }) {