blob: fc3aa298242baf82ffd3f0b66386f123f0d8da95 [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
4@frappe.whitelist()
5def create_employee_records():
Rucha Mahabal525d4d42021-07-15 19:32:15 +05306 create_company()
Rucha Mahabal3cc85e12021-07-14 23:50:54 +05307 create_missing_designation()
8
9 emp1 = create_employee('Test Employee 1', 'CEO')
10 emp2 = create_employee('Test Employee 2', 'CTO')
11 emp3 = create_employee('Test Employee 3', 'Head of Marketing and Sales', emp1)
12 emp4 = create_employee('Test Employee 4', 'Project Manager', emp2)
Rucha Mahabala1d379d2021-07-15 19:19:09 +053013 emp5 = create_employee('Test Employee 5', 'Engineer', emp2)
14 emp6 = create_employee('Test Employee 6', 'Analyst', emp3)
15 emp7 = create_employee('Test Employee 7', 'Software Developer', emp4)
Rucha Mahabal3cc85e12021-07-14 23:50:54 +053016
Rucha Mahabala1d379d2021-07-15 19:19:09 +053017 employees = [emp1, emp2, emp3, emp4, emp5, emp6, emp7]
Rucha Mahabal3cc85e12021-07-14 23:50:54 +053018 return employees
19
Rucha Mahabal982a0972021-07-19 22:19:28 +053020@frappe.whitelist()
21def get_employee_records():
22 return frappe.db.get_list('Employee', filters={
23 'company': 'Test Org Chart'
24 }, pluck='name', order_by='name')
25
Rucha Mahabal3cc85e12021-07-14 23:50:54 +053026def create_company():
27 company = frappe.db.exists('Company', 'Test Org Chart')
28 if not company:
29 company = frappe.get_doc({
30 'doctype': 'Company',
31 'company_name': 'Test Org Chart',
32 'country': 'India',
33 'default_currency': 'INR'
34 }).insert().name
35
36 return company
37
38def create_employee(first_name, designation, reports_to=None):
39 employee = frappe.db.exists('Employee', {'first_name': first_name, 'designation': designation})
40 if not employee:
41 employee = frappe.get_doc({
42 'doctype': 'Employee',
43 'first_name': first_name,
44 'company': 'Test Org Chart',
45 'gender': 'Female',
46 'date_of_birth': getdate('08-12-1998'),
47 'date_of_joining': getdate('01-01-2021'),
48 'designation': designation,
49 'reports_to': reports_to
50 }).insert().name
51
52 return employee
53
54def create_missing_designation():
55 if not frappe.db.exists('Designation', 'CTO'):
56 frappe.get_doc({
57 'doctype': 'Designation',
58 'designation_name': 'CTO'
59 }).insert()