fix: delete event if its reference doc is deleted (#6453)

* delete events associated with any reference doctype

* fix query, remove whitelist
This commit is contained in:
Zarrar 2018-11-29 12:19:26 +05:30 committed by Suraj Shetty
parent 79bd1ed9d6
commit aff557914e

View file

@ -251,3 +251,19 @@ def get_events(start, end, user=None, for_reminder=False, filters=None):
del e[w]
return events
def delete_events(ref_type, ref_name, delete_event=False):
participations = frappe.get_all("Event Participants", filters={"reference_doctype": ref_type, "reference_docname": ref_name,
"parenttype": "Event"}, fields=["parent", "name"])
if participations:
for participation in participations:
if delete_event:
frappe.delete_doc("Event", participation.parent, for_reload=True)
else:
total_participants = frappe.get_all("Event Participants", filters={"parenttype": "Event", "parent": participation.parent})
if len(total_participants) <= 1:
frappe.db.sql("DELETE FROM `tabEvent` WHERE `name` = %(name)s", {'name': participation.parent})
frappe.db.sql("DELETE FROM `tabEvent Participants ` WHERE `name` = %(name)s", {'name': participation.name})