fix: table data deleted on submitted maintenance schedule (#27513)
diff --git a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
index d1a8c8d..035290d 100644
--- a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
@@ -18,7 +18,7 @@
},
refresh: function (frm) {
setTimeout(() => {
- frm.toggle_display('generate_schedule', !(frm.is_new()));
+ frm.toggle_display('generate_schedule', !(frm.is_new() || frm.doc.docstatus));
frm.toggle_display('schedule', !(frm.is_new()));
}, 10);
},
diff --git a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py
index 52e41c5..0bf5aea 100644
--- a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py
@@ -16,9 +16,9 @@
class MaintenanceSchedule(TransactionBase):
@frappe.whitelist()
def generate_schedule(self):
+ if self.docstatus != 0:
+ return
self.set('schedules', [])
- frappe.db.sql("""delete from `tabMaintenance Schedule Detail`
- where parent=%s""", (self.name))
count = 1
for d in self.get('items'):
self.validate_maintenance_detail()