From de7d944f5ea49e780370999ee27bc73ea164ed81 Mon Sep 17 00:00:00 2001 From: Akhilesh Darjee Date: Fri, 9 Aug 2013 12:28:50 +0530 Subject: [PATCH] [issue] webnotes/erpnext#647 - recurring event for employee birthdays --- hr/doctype/employee/employee.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py index 690bd55b1f..89f9856221 100644 --- a/hr/doctype/employee/employee.py +++ b/hr/doctype/employee/employee.py @@ -45,6 +45,7 @@ class DocType: if self.doc.user_id: self.update_user_default() self.update_profile() + self.update_dob_event() def update_user_default(self): webnotes.conn.set_default("employee", self.doc.name, self.doc.user_id) @@ -154,6 +155,31 @@ class DocType: msgprint(_("Invalid Leave Approver") + ": \"" + l.leave_approver + "\"", raise_exception=InvalidLeaveApproverError) + def update_dob_event(self): + get_events = webnotes.conn.sql("""select name from `tabEvent` where repeat_on='Every Year' + and ref_type='Employee' and ref_name=%s""", (self.doc.name), as_dict=1) + + starts_on = self.doc.date_of_birth + " 00:00:00" + ends_on = self.doc.date_of_birth + " 00:15:00" + + if get_events: + webnotes.conn.sql("""update `tabEvent` set starts_on=%s, ends_on=%s + where name=%s""", (get_events[0].name, starts_on, ends_on) + else: + event_wrapper = webnotes.bean({ + "doctype": "Event", + "subject": _("Birthday") + ": " + self.doc.employee_name, + "starts_on": starts_on, + "ends_on": ends_on, + "event_type": "Public", + "all_day": 1, + "send_reminder": 1, + "repeat_this_event": 1, + "repeat_on": "Every Year", + "ref_type": "Employee", + "ref_name": self.doc.name + }).insert() + @webnotes.whitelist() def get_retirement_date(date_of_birth=None): import datetime