blob: 057f406e805f83f00a50b905f6472202009dc404 [file] [log] [blame]
Anand Doshi885e0742015-03-03 14:55:30 +05301# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
Rushabh Mehtae67d1fb2013-08-05 14:59:54 +05302# License: GNU General Public License v3. See license.txt
Anand Doshi60666a22013-04-12 20:19:53 +05303
4from __future__ import unicode_literals
Rushabh Mehta793ba6b2014-02-14 15:47:51 +05305import frappe
6from frappe import _
Ranjithfddfffd2018-05-05 13:27:26 +05307from frappe.utils import formatdate, format_datetime
8from frappe.utils import getdate, get_datetime
Anand Doshi60666a22013-04-12 20:19:53 +05309
Anand Doshic280d062014-05-30 14:43:36 +053010def set_employee_name(doc):
11 if doc.employee and not doc.employee_name:
12 doc.employee_name = frappe.db.get_value("Employee", doc.employee, "employee_name")
Ranjithfddfffd2018-05-05 13:27:26 +053013
14@frappe.whitelist()
15def get_employee_fields_label():
16 fields = []
17 for df in frappe.get_meta("Employee").get("fields"):
18 if df.fieldtype in ["Data", "Date", "Datetime", "Float", "Int",
19 "Link", "Percent", "Select", "Small Text"] and df.fieldname not in ["lft", "rgt", "old_parent"]:
20 fields.append({"value": df.fieldname, "label": df.label})
21 return fields
22
23@frappe.whitelist()
24def get_employee_field_property(employee, fieldname):
25 if employee and fieldname:
26 field = frappe.get_meta("Employee").get_field(fieldname)
27 value = frappe.db.get_value("Employee", employee, fieldname)
28 options = field.options
29 if field.fieldtype == "Date":
30 value = formatdate(value)
31 elif field.fieldtype == "Datetime":
32 value = format_datetime(value)
33 return {
34 "value" : value,
35 "datatype" : field.fieldtype,
36 "label" : field.label,
37 "options" : options
38 }
39 else:
40 return False
41
42def update_employee(employee, details, cancel=False):
43 for item in details:
44 fieldtype = frappe.get_meta("Employee").get_field(item.fieldname).fieldtype
45 new_data = item.new if not cancel else item.current
46 if fieldtype == "Date" and new_data:
47 new_data = getdate(new_data)
48 elif fieldtype =="Datetime" and new_data:
49 new_data = get_datetime(new_data)
50 setattr(employee, item.fieldname, new_data)
51 return employee