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 62714b84c2..d9bb7c02f4 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): @@ -54,7 +55,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"}): @@ -72,8 +73,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))) + delete_events(self.doc.doctype, self.doc.name) 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 041c4cb55b..c86a50ec19 100644 --- a/utilities/transaction_base.py +++ b/utilities/transaction_base.py @@ -357,3 +357,6 @@ def validate_currency(args, item, meta=None): get_field_precision(meta.get_field("plc_conversion_rate"), webnotes._dict({"fields": args}))) +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)