Merge branch 'staging-fixes' into patch-to-rename-additional-salary-component
diff --git a/erpnext/hr/doctype/department/test_department.py b/erpnext/hr/doctype/department/test_department.py
index da69661..2eeca26 100644
--- a/erpnext/hr/doctype/department/test_department.py
+++ b/erpnext/hr/doctype/department/test_department.py
@@ -1,9 +1,24 @@
 # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 from __future__ import unicode_literals
+import frappe
+import unittest
 
 test_ignore = ["Leave Block List"]
+class TestDepartment(unittest.TestCase):
+    def test_remove_department_data(self):
+        doc = create_department("Test Department")
+        frappe.delete_doc('Department', doc.name)
 
+def create_department(department_name, parent_department=None):
+    doc = frappe.get_doc({
+        'doctype': 'Department',
+        'is_group': 0,
+        'parent_department': parent_department,
+        'department_name': department_name,
+        'company': frappe.defaults.get_defaults().company
+    }).insert()
 
-import frappe
+    return doc
+
 test_records = frappe.get_test_records('Department')
\ No newline at end of file
diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
index 4845e0b..f845cef 100644
--- a/erpnext/utilities/transaction_base.py
+++ b/erpnext/utilities/transaction_base.py
@@ -146,8 +146,18 @@
 		return ret
 
 def delete_events(ref_type, ref_name):
-	frappe.delete_doc("Event", frappe.db.sql_list("""select name from `tabEvent`
-		where ref_type=%s and ref_name=%s""", (ref_type, ref_name)), for_reload=True)
+	events = frappe.db.sql_list(""" SELECT
+			distinct `tabEvent`.name
+		from
+			`tabEvent`, `tabEvent Participants`
+		where
+			`tabEvent`.name = `tabEvent Participants`.parent
+			and `tabEvent Participants`.reference_doctype = %s
+			and `tabEvent Participants`.reference_docname = %s
+		""", (ref_type, ref_name)) or []
+
+	if events:
+		frappe.delete_doc("Event", events, for_reload=True)
 
 def validate_uom_is_integer(doc, uom_field, qty_fields, child_dt=None):
 	if isinstance(qty_fields, string_types):