diff --git a/frappe_it_request/frappe_it_request/doctype/it_request/it_request.js b/frappe_it_request/frappe_it_request/doctype/it_request/it_request.js index 31731eb..cefef7a 100644 --- a/frappe_it_request/frappe_it_request/doctype/it_request/it_request.js +++ b/frappe_it_request/frappe_it_request/doctype/it_request/it_request.js @@ -2,7 +2,7 @@ // For license information, please see license.txt "use strict"; (() => { - // doctype/it_request/ts/it_request.ts + // frappe_it_request/doctype/it_request/ts/it_request.ts var categories = { "System": { "Movidesk": [ @@ -213,11 +213,15 @@ try { const r = await frappe.db.get_value("User", frm.doc["applicant"], "internal_department"); if (r && r.message && r.message.internal_department) { - frm.set_value("sector_applicant", r.message.internal_department); - frm.refresh_field("sector_applicant"); + if (frm.doc["sector_applicant"] !== r.message.internal_department) { + frm.set_value("sector_applicant", r.message.internal_department); + frm.refresh_field("sector_applicant"); + } } else { - frm.set_value("sector_applicant", null); - frm.refresh_field("sector_applicant"); + if (frm.doc["sector_applicant"]) { + frm.set_value("sector_applicant", null); + frm.refresh_field("sector_applicant"); + } } } catch (error) { console.error("Error fetching applicant's sector:", error); diff --git a/frappe_it_request/frappe_it_request/doctype/it_request/ts/it_request.ts b/frappe_it_request/frappe_it_request/doctype/it_request/ts/it_request.ts index 33748dd..766418c 100644 --- a/frappe_it_request/frappe_it_request/doctype/it_request/ts/it_request.ts +++ b/frappe_it_request/frappe_it_request/doctype/it_request/ts/it_request.ts @@ -242,12 +242,18 @@ async function initializeForm(frm: FrappeForm): Promise { try { const r = await frappe.db.get_value('User', frm.doc['applicant'], 'internal_department'); if (r && r.message && r.message.internal_department) { - frm.set_value("sector_applicant", r.message.internal_department); - frm.refresh_field('sector_applicant'); + // Only update the field if the value actually changed to avoid + // marking the form as dirty (which shows "Not Saved"). + if (frm.doc['sector_applicant'] !== r.message.internal_department) { + frm.set_value("sector_applicant", r.message.internal_department); + frm.refresh_field('sector_applicant'); + } } else { - // Clear the field if no department is found - frm.set_value("sector_applicant", null); - frm.refresh_field('sector_applicant'); + // Clear the field only if it currently has a value + if (frm.doc['sector_applicant']) { + frm.set_value("sector_applicant", null); + frm.refresh_field('sector_applicant'); + } } } catch (error) { console.error("Error fetching applicant's sector:", error);