blob: 76c7608c91ffdfe305434a01ba33df9f45ae5d0a [file] [log] [blame]
Rucha Mahabal3cc85e12021-07-14 23:50:54 +05301import frappe
Rucha Mahabal3cc85e12021-07-14 23:50:54 +05302from frappe.utils import getdate
3
Chillar Anand915b3432021-09-02 16:44:59 +05304
Rucha Mahabal3cc85e12021-07-14 23:50:54 +05305@frappe.whitelist()
6def create_employee_records():
Rucha Mahabal525d4d42021-07-15 19:32:15 +05307 create_company()
Rucha Mahabal3cc85e12021-07-14 23:50:54 +05308 create_missing_designation()
9
10 emp1 = create_employee('Test Employee 1', 'CEO')
11 emp2 = create_employee('Test Employee 2', 'CTO')
12 emp3 = create_employee('Test Employee 3', 'Head of Marketing and Sales', emp1)
13 emp4 = create_employee('Test Employee 4', 'Project Manager', emp2)
Rucha Mahabala1d379d2021-07-15 19:19:09 +053014 emp5 = create_employee('Test Employee 5', 'Engineer', emp2)
15 emp6 = create_employee('Test Employee 6', 'Analyst', emp3)
16 emp7 = create_employee('Test Employee 7', 'Software Developer', emp4)
Rucha Mahabal3cc85e12021-07-14 23:50:54 +053017
Rucha Mahabala1d379d2021-07-15 19:19:09 +053018 employees = [emp1, emp2, emp3, emp4, emp5, emp6, emp7]
Rucha Mahabal3cc85e12021-07-14 23:50:54 +053019 return employees
20
Rucha Mahabal982a0972021-07-19 22:19:28 +053021@frappe.whitelist()
22def get_employee_records():
23 return frappe.db.get_list('Employee', filters={
24 'company': 'Test Org Chart'
25 }, pluck='name', order_by='name')
26
Rucha Mahabal3cc85e12021-07-14 23:50:54 +053027def create_company():
28 company = frappe.db.exists('Company', 'Test Org Chart')
29 if not company:
30 company = frappe.get_doc({
31 'doctype': 'Company',
32 'company_name': 'Test Org Chart',
33 'country': 'India',
34 'default_currency': 'INR'
35 }).insert().name
36
37 return company
38
39def create_employee(first_name, designation, reports_to=None):
40 employee = frappe.db.exists('Employee', {'first_name': first_name, 'designation': designation})
41 if not employee:
42 employee = frappe.get_doc({
43 'doctype': 'Employee',
44 'first_name': first_name,
45 'company': 'Test Org Chart',
46 'gender': 'Female',
47 'date_of_birth': getdate('08-12-1998'),
48 'date_of_joining': getdate('01-01-2021'),
49 'designation': designation,
50 'reports_to': reports_to
51 }).insert().name
52
53 return employee
54
55def create_missing_designation():
56 if not frappe.db.exists('Designation', 'CTO'):
57 frappe.get_doc({
58 'doctype': 'Designation',
59 'designation_name': 'CTO'
Ankush Menat4551d7d2021-08-19 13:41:10 +053060 }).insert()