From c224cf761f7e4bb0b47e4696fcbaddfba1c0303f Mon Sep 17 00:00:00 2001 From: "pratik.m" Date: Sat, 15 Feb 2020 13:22:17 +0530 Subject: [PATCH] fix: restricted duplicate topics on Course doctype (#20594) --- erpnext/education/doctype/course/course.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/erpnext/education/doctype/course/course.js b/erpnext/education/doctype/course/course.js index e31ba72686..69329896e0 100644 --- a/erpnext/education/doctype/course/course.js +++ b/erpnext/education/doctype/course/course.js @@ -6,21 +6,21 @@ frappe.ui.form.on("Course", "refresh", function(frm) { } frappe.set_route("List", "Program"); }); - + frm.add_custom_button(__("Student Group"), function() { frappe.route_options = { course: frm.doc.name } frappe.set_route("List", "Student Group"); }); - + frm.add_custom_button(__("Course Schedule"), function() { frappe.route_options = { course: frm.doc.name } frappe.set_route("List", "Course Schedule"); }); - + frm.add_custom_button(__("Assessment Plan"), function() { frappe.route_options = { course: frm.doc.name @@ -36,4 +36,17 @@ frappe.ui.form.on("Course", "refresh", function(frm) { } } }); -}); \ No newline at end of file +}); + +frappe.ui.form.on('Course Topic', { + topics_add: function(frm){ + frm.fields_dict['topics'].grid.get_field('topic').get_query = function(doc){ + var topics_list = []; + if(!doc.__islocal) topics_list.push(doc.name); + $.each(doc.topics, function(idx, val){ + if (val.topic) topics_list.push(val.topic); + }); + return { filters: [['Topic', 'name', 'not in', topics_list]] }; + }; + } +});