diff --git a/erpnext/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js index f69f4e5c24..98f9f6ea6d 100755 --- a/erpnext/hr/doctype/employee/employee.js +++ b/erpnext/hr/doctype/employee/employee.js @@ -40,6 +40,24 @@ erpnext.hr.EmployeeController = frappe.ui.form.Controller.extend({ "Ms": "Female" }[this.frm.doc.salutation]); } + }, + +}); +frappe.ui.form.on('Employee',{ + prefered_contact_email:function(frm){ + frm.events.update_contact(frm) + }, + personal_email:function(frm){ + frm.events.update_contact(frm) + }, + company_email:function(frm){ + frm.events.update_contact(frm) + }, + user_id:function(frm){ + frm.events.update_contact(frm) + }, + update_contact:function(frm){ + frm.set_value("prefered_email",frm.fields_dict[frappe.model.scrub(frm.doc.prefered_contact_email)].value) } }); cur_frm.cscript = new erpnext.hr.EmployeeController({frm: cur_frm}); diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json index 8311235685..0ae69b99df 100644 --- a/erpnext/hr/doctype/employee/employee.json +++ b/erpnext/hr/doctype/employee/employee.json @@ -987,7 +987,59 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, - "columns": 0, + "default": "", + "fieldname": "prefered_contact_email", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Prefered Contact Email", + "length": 0, + "no_copy": 0, + "options": "\nCompany Email\nPersonal Email\nUser ID", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "prefered_email", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Prefered Email", + "length": 0, + "no_copy": 0, + "options": "Email", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, "fieldname": "cell_number", "fieldtype": "Data", "hidden": 0, diff --git a/erpnext/hr/doctype/hr_settings/hr_settings.json b/erpnext/hr/doctype/hr_settings/hr_settings.json index d7892c748b..d0f7c209d0 100644 --- a/erpnext/hr/doctype/hr_settings/hr_settings.json +++ b/erpnext/hr/doctype/hr_settings/hr_settings.json @@ -167,7 +167,7 @@ "bold": 0, "collapsible": 0, "default": "1", - "description": "", + "description": "Emails salary slip to employee based on preferred email selected in Employee", "fieldname": "email_salary_slip_to_employee", "fieldtype": "Check", "hidden": 0, @@ -226,7 +226,7 @@ "issingle": 1, "istable": 0, "max_attachments": 0, - "modified": "2016-08-10 12:32:39.780599", + "modified": "2016-09-21 11:28:50.687129", "modified_by": "Administrator", "module": "HR", "name": "HR Settings", diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py index 0986511094..84a20d9b81 100644 --- a/erpnext/hr/doctype/salary_slip/salary_slip.py +++ b/erpnext/hr/doctype/salary_slip/salary_slip.py @@ -354,8 +354,8 @@ class SalarySlip(TransactionBase): self.update_status() def email_salary_slip(self): - receiver = frappe.db.get_value("Employee", self.employee, "company_email") or \ - frappe.db.get_value("Employee", self.employee, "personal_email") + receiver = frappe.db.get_value("Employee", self.employee, "prefered_email") + if receiver: subj = 'Salary Slip - from {0} to {1}, fiscal year {2}'.format(self.start_date, self.end_date, self.fiscal_year) frappe.sendmail([receiver], subject=subj, message = _("Please see attachment"), diff --git a/erpnext/patches.txt b/erpnext/patches.txt index bbabcb8784..5b3781f53d 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -328,6 +328,9 @@ erpnext.patches.v7_1.update_lead_source erpnext.patches.v7_1.fix_link_for_customer_from_lead execute:frappe.db.sql("delete from `tabTimesheet Detail` where NOT EXISTS (select name from `tabTimesheet` where name = `tabTimesheet Detail`.parent)") erpnext.patches.v7_0.update_mode_of_payment_type + +execute:frappe.reload_doctype('Employee') +execute:frappe.db.sql("update `tabEmployee` set prefered_contact_email = IFNULL(prefered_contact_email,'') ") execute:frappe.reload_doctype("Salary Slip") execute:frappe.db.sql("update `tabSalary Slip` set posting_date=creation") erpnext.patches.v7_1.update_portal_roles