[issue] webnotes/erpnext#647 - recurring event for employee birthdays

This commit is contained in:
Akhilesh Darjee 2013-08-09 12:28:50 +05:30
parent 79251492fe
commit de7d944f5e

View File

@ -45,6 +45,7 @@ class DocType:
if self.doc.user_id: if self.doc.user_id:
self.update_user_default() self.update_user_default()
self.update_profile() self.update_profile()
self.update_dob_event()
def update_user_default(self): def update_user_default(self):
webnotes.conn.set_default("employee", self.doc.name, self.doc.user_id) 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 + "\"", msgprint(_("Invalid Leave Approver") + ": \"" + l.leave_approver + "\"",
raise_exception=InvalidLeaveApproverError) 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() @webnotes.whitelist()
def get_retirement_date(date_of_birth=None): def get_retirement_date(date_of_birth=None):
import datetime import datetime