set query for department based on company
diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js
index 236c4f9..f4a01ae 100644
--- a/erpnext/assets/doctype/asset/asset.js
+++ b/erpnext/assets/doctype/asset/asset.js
@@ -23,6 +23,14 @@
 				}
 			};
 		});
+
+		frm.set_query("department", function() {
+			return {
+				"filters": {
+					"company": frm.doc.company,
+				}
+			};
+		});
 	},
 
 	refresh: function(frm) {
diff --git a/erpnext/education/doctype/instructor/instructor.js b/erpnext/education/doctype/instructor/instructor.js
index 62d73b3..f9c7a2a 100644
--- a/erpnext/education/doctype/instructor/instructor.js
+++ b/erpnext/education/doctype/instructor/instructor.js
@@ -1,31 +1,53 @@
 cur_frm.add_fetch("employee", "department", "department");
 cur_frm.add_fetch("employee", "image", "image");
 
-frappe.ui.form.on("Instructor", "refresh", function(frm) {
-	if(!frm.doc.__islocal) {
-		frm.add_custom_button(__("Student Group"), function() {
-			frappe.route_options = {
-				instructor: frm.doc.name
-			}
-			frappe.set_route("List", "Student Group");
+frappe.ui.form.on("Instructor", {
+	employee: function(frm) {
+		if(!frm.doc.employee) return;
+		frappe.db.get_value('Employee', {name: frm.doc.employee}, 'company', (company) => {
+			frm.set_query("department", function() {
+				return {
+					"filters": {
+						"company": company,
+					}
+				};
+			});
+
+			frm.set_query("department", "instructor_log", function() {
+				return {
+					"filters": {
+						"company": company,
+					}
+				};
+			});
 		});
-		frm.add_custom_button(__("Course Schedule"), function() {
-			frappe.route_options = {
-				instructor: frm.doc.name
-			}
-			frappe.set_route("List", "Course Schedule");
-		});
-		frm.add_custom_button(__("As Examiner"), function() {
-			frappe.route_options = {
-				examiner: frm.doc.name
-			}
-			frappe.set_route("List", "Assessment Plan");
-		}, __("Assessment Plan"));
-		frm.add_custom_button(__("As Supervisor"), function() {
-			frappe.route_options = {
-				supervisor: frm.doc.name
-			}
-			frappe.set_route("List", "Assessment Plan");
-		}, __("Assessment Plan"));
+	},
+	refresh: function(frm) {
+		if(!frm.doc.__islocal) {
+			frm.add_custom_button(__("Student Group"), function() {
+				frappe.route_options = {
+					instructor: frm.doc.name
+				}
+				frappe.set_route("List", "Student Group");
+			});
+			frm.add_custom_button(__("Course Schedule"), function() {
+				frappe.route_options = {
+					instructor: frm.doc.name
+				}
+				frappe.set_route("List", "Course Schedule");
+			});
+			frm.add_custom_button(__("As Examiner"), function() {
+				frappe.route_options = {
+					examiner: frm.doc.name
+				}
+				frappe.set_route("List", "Assessment Plan");
+			}, __("Assessment Plan"));
+			frm.add_custom_button(__("As Supervisor"), function() {
+				frappe.route_options = {
+					supervisor: frm.doc.name
+				}
+				frappe.set_route("List", "Assessment Plan");
+			}, __("Assessment Plan"));
+		}
 	}
 });
diff --git a/erpnext/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js
index 240411d..6f6873a 100755
--- a/erpnext/hr/doctype/employee/employee.js
+++ b/erpnext/hr/doctype/employee/employee.js
@@ -37,6 +37,15 @@
 
 });
 frappe.ui.form.on('Employee',{
+	onload:function(frm) {
+		frm.set_query("department", function() {
+			return {
+				"filters": {
+					"company": frm.doc.company,
+				}
+			};
+		});
+	},
 	prefered_contact_email:function(frm){		
 		frm.events.update_contact(frm)		
 	},
diff --git a/erpnext/hr/doctype/job_opening/job_opening.js b/erpnext/hr/doctype/job_opening/job_opening.js
index 960f5b3..7b0e447 100644
--- a/erpnext/hr/doctype/job_opening/job_opening.js
+++ b/erpnext/hr/doctype/job_opening/job_opening.js
@@ -2,6 +2,15 @@
 // For license information, please see license.txt
 
 frappe.ui.form.on('Job Opening', {
+	onload: function(frm) {
+		frm.set_query("department", function() {
+			return {
+				"filters": {
+					"company": frm.doc.company,
+				}
+			};
+		});
+	},
 	designation: function(frm) {
 		if(frm.doc.designation && frm.doc.company){
 			frappe.call({
diff --git a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js
index 0eb6414..7aeb8ea 100644
--- a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js
+++ b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js
@@ -26,6 +26,19 @@
 	refresh_field('no_of_days');
 }
 
-frappe.ui.form.on("Leave Control Panel", "refresh", function (frm) {
-	frm.disable_save();
+frappe.ui.form.on("Leave Control Panel", {
+	company: function(frm) {
+		if(frm.doc.company) {
+			frm.set_query("department", function() {
+				return {
+					"filters": {
+						"company": frm.doc.company,
+					}
+				};
+			});
+		}
+	},
+	refresh: function(frm) {
+		frm.disable_save();
+	}
 });
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_period/leave_period.js b/erpnext/hr/doctype/leave_period/leave_period.js
index 2a6010e..a54147d 100644
--- a/erpnext/hr/doctype/leave_period/leave_period.js
+++ b/erpnext/hr/doctype/leave_period/leave_period.js
@@ -2,7 +2,13 @@
 // For license information, please see license.txt
 
 frappe.ui.form.on('Leave Period', {
-	refresh: function(frm) {
-
+	onload: function(frm) {
+		frm.set_query("department", function() {
+			return {
+				"filters": {
+					"company": frm.doc.company,
+				}
+			};
+		});
 	}
 });
diff --git a/erpnext/hr/doctype/payroll_entry/payroll_entry.js b/erpnext/hr/doctype/payroll_entry/payroll_entry.js
index 1e6dc51..d02e1f1 100644
--- a/erpnext/hr/doctype/payroll_entry/payroll_entry.js
+++ b/erpnext/hr/doctype/payroll_entry/payroll_entry.js
@@ -9,6 +9,14 @@
 			frm.doc.posting_date = frappe.datetime.nowdate();
 		}
 		frm.toggle_reqd(['payroll_frequency'], !frm.doc.salary_slip_based_on_timesheet);
+
+		frm.set_query("department", function() {
+			return {
+				"filters": {
+					"company": frm.doc.company,
+				}
+			};
+		});
 	},
 
 	refresh: function(frm) {
diff --git a/erpnext/hr/doctype/staffing_plan/staffing_plan.js b/erpnext/hr/doctype/staffing_plan/staffing_plan.js
index 1c1a720..ca57d9f 100644
--- a/erpnext/hr/doctype/staffing_plan/staffing_plan.js
+++ b/erpnext/hr/doctype/staffing_plan/staffing_plan.js
@@ -17,6 +17,14 @@
 				]
 			}
 		});
+
+		frm.set_query("department", function() {
+			return {
+				"filters": {
+					"company": frm.doc.company,
+				}
+			};
+		});
 	}
 });