[event] [fix] commonified delete_events method, which is executed before auto-creation of events. Fixed delete issue
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 3f66d8b..971e4c7 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 @@
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 94b6787..84a216c 100644
--- a/projects/doctype/project/project.py
+++ b/projects/doctype/project/project.py
@@ -19,6 +19,7 @@
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 @@
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 @@
}).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 06c5a47..baed6a9 100644
--- a/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -26,7 +26,7 @@
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 @@
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 f9af912..0332185 100644
--- a/utilities/transaction_base.py
+++ b/utilities/transaction_base.py
@@ -303,3 +303,8 @@
})
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