[fix] [minor] create birthday event only for active employees, else delete it

This commit is contained in:
Anand Doshi 2013-08-14 10:50:19 +05:30
parent dd2ec17962
commit 0b6fa018d6
3 changed files with 14 additions and 9 deletions

View File

@ -156,20 +156,23 @@ class DocType:
raise_exception=InvalidLeaveApproverError)
def update_dob_event(self):
if self.doc.date_of_birth:
get_events = webnotes.conn.sql("""select name from `tabEvent` where repeat_on='Every Year'
if self.doc.status == "Active" and self.doc.date_of_birth:
birthday_event = webnotes.conn.sql("""select name from `tabEvent` where repeat_on='Every Year'
and ref_type='Employee' and ref_name=%s""", self.doc.name)
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""", (starts_on, ends_on, get_events[0][0]))
if birthday_event:
event = webnotes.bean("Event", birthday_event[0][0])
event.doc.starts_on = starts_on
event.doc.ends_on = ends_on
event.save()
else:
webnotes.bean({
"doctype": "Event",
"subject": _("Birthday") + ": " + self.doc.employee_name,
"description": _("Happy Birthday!") + " " + self.doc.employee_name,
"starts_on": starts_on,
"ends_on": ends_on,
"event_type": "Public",

View File

@ -5,7 +5,9 @@ from __future__ import unicode_literals
import webnotes
def execute():
for employee in webnotes.conn.sql_list("""select name from `tabEmployee` where ifnull(date_of_birth, '')!=''"""):
obj = webnotes.get_obj("Employee", employee)
obj.update_dob_event()
webnotes.conn.sql("""delete from `tabEvent` where repeat_on='Every Year' and ref_type='Employee'""")
for employee in webnotes.conn.sql_list("""select name from `tabEmployee` where status='Active' and
ifnull(date_of_birth, '')!=''"""):
obj = webnotes.get_obj("Employee", employee)
obj.update_dob_event()

View File

@ -254,5 +254,5 @@ patch_list = [
"patches.august_2013.p01_hr_settings",
"patches.august_2013.p02_rename_price_list",
"patches.august_2013.p03_pos_setting_replace_customer_account",
"patches.august_2013.p04_employee_birthdays",
"patches.august_2013.p05_employee_birthdays",
]