diff --git a/patches/june_2013/p04_fix_event_for_lead_oppty_project.py b/patches/june_2013/p04_fix_event_for_lead_oppty_project.py index 3f66d8bfbb..971e4c7459 100644 --- a/patches/june_2013/p04_fix_event_for_lead_oppty_project.py +++ b/patches/june_2013/p04_fix_event_for_lead_oppty_project.py @@ -1,6 +1,8 @@ import webnotes def execute(): + from utilities.transaction_base import delete_events + # delete orphaned Event User webnotes.conn.sql("""delete from `tabEvent User` where not exists(select name from `tabEvent` where `tabEvent`.name = `tabEvent User`.parent)""") @@ -15,5 +17,4 @@ def execute(): webnotes.get_obj(dt, ref_name).add_calendar_event() else: # remove events where ref doc doesn't exist - webnotes.delete_doc("Event", webnotes.conn.sql_list("""select name from `tabEvent` - where ref_type=%s and ref_name=%s""", (dt, ref_name))) \ No newline at end of file + delete_events(dt, ref_name) \ No newline at end of file diff --git a/projects/doctype/project/project.py b/projects/doctype/project/project.py index 94b6787312..84a216c349 100644 --- a/projects/doctype/project/project.py +++ b/projects/doctype/project/project.py @@ -19,6 +19,7 @@ import webnotes from webnotes.utils import flt, getdate from webnotes import msgprint +from utilities.transaction_base import delete_events class DocType: def __init__(self, doc, doclist=None): @@ -69,7 +70,7 @@ class DocType: def add_calendar_event(self): # delete any earlier event for this project - self.delete_events() + delete_events(self.doc.doctype, self.doc.name) # add events for milestone in self.doclist.get({"parentfield": "project_milestones"}): @@ -87,8 +88,4 @@ class DocType: }).insert() def on_trash(self): - self.delete_events() - - def delete_events(self): - webnotes.delete_doc("Event", webnotes.conn.sql_list("""select name from `tabEvent` - where ref_type=%s and ref_name=%s""", (self.doc.doctype, self.doc.name))) \ No newline at end of file + delete_events(self.doc.doctype, self.doc.name) \ No newline at end of file diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.py b/support/doctype/maintenance_schedule/maintenance_schedule.py index 06c5a47aff..baed6a9dbd 100644 --- a/support/doctype/maintenance_schedule/maintenance_schedule.py +++ b/support/doctype/maintenance_schedule/maintenance_schedule.py @@ -26,7 +26,7 @@ from webnotes import msgprint sql = webnotes.conn.sql -from utilities.transaction_base import TransactionBase +from utilities.transaction_base import TransactionBase, delete_events class DocType(TransactionBase): def __init__(self, doc, doclist=[]): @@ -327,13 +327,7 @@ class DocType(TransactionBase): if d.serial_no: self.update_amc_date(d.serial_no, '') webnotes.conn.set(self.doc, 'status', 'Cancelled') - self.delete_events() + delete_events(self.doc.doctype, self.doc.name) def on_trash(self): - self.delete_events() - - def delete_events(self): - webnotes.delete_doc("Event", webnotes.conn.sql_list("""select name from `tabEvent` - where ref_type=%s and ref_name=%s""", (self.doc.doctype, self.doc.name))) - - + delete_events(self.doc.doctype, self.doc.name) diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py index f9af912737..03321853a7 100644 --- a/utilities/transaction_base.py +++ b/utilities/transaction_base.py @@ -303,3 +303,8 @@ class TransactionBase(DocListController): }) webnotes.bean(event_doclist).insert() + + +def delete_events(ref_type, ref_name): + webnotes.delete_doc("Event", webnotes.conn.sql_list("""select name from `tabEvent` + where ref_type=%s and ref_name=%s""", (ref_type, ref_name)), for_reload=True) \ No newline at end of file