blob: 99748dca02e913dcc91468ed28aca244ba7e7979 [file] [log] [blame]
Rucha Mahabalf004b402021-07-14 23:50:54 +05301import frappe
2from frappe import _
3from frappe.utils import getdate
4
5@frappe.whitelist()
6def create_employee_records():
7 company = create_company()
8 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 Mahabalee7eaf92021-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 Mahabalf004b402021-07-14 23:50:54 +053017
Rucha Mahabalee7eaf92021-07-15 19:19:09 +053018 employees = [emp1, emp2, emp3, emp4, emp5, emp6, emp7]
Rucha Mahabalf004b402021-07-14 23:50:54 +053019 return employees
20
21def create_company():
22 company = frappe.db.exists('Company', 'Test Org Chart')
23 if not company:
24 company = frappe.get_doc({
25 'doctype': 'Company',
26 'company_name': 'Test Org Chart',
27 'country': 'India',
28 'default_currency': 'INR'
29 }).insert().name
30
31 return company
32
33def create_employee(first_name, designation, reports_to=None):
34 employee = frappe.db.exists('Employee', {'first_name': first_name, 'designation': designation})
35 if not employee:
36 employee = frappe.get_doc({
37 'doctype': 'Employee',
38 'first_name': first_name,
39 'company': 'Test Org Chart',
40 'gender': 'Female',
41 'date_of_birth': getdate('08-12-1998'),
42 'date_of_joining': getdate('01-01-2021'),
43 'designation': designation,
44 'reports_to': reports_to
45 }).insert().name
46
47 return employee
48
49def create_missing_designation():
50 if not frappe.db.exists('Designation', 'CTO'):
51 frappe.get_doc({
52 'doctype': 'Designation',
53 'designation_name': 'CTO'
54 }).insert()