Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 1 | import frappe |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 2 | from frappe.utils import getdate |
| 3 | |
Chillar Anand | 915b343 | 2021-09-02 16:44:59 +0530 | [diff] [blame] | 4 | |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 5 | @frappe.whitelist() |
| 6 | def create_employee_records(): |
Rucha Mahabal | 525d4d4 | 2021-07-15 19:32:15 +0530 | [diff] [blame] | 7 | create_company() |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 8 | create_missing_designation() |
| 9 | |
Rucha Mahabal | 9e08229 | 2021-09-30 18:32:10 +0530 | [diff] [blame] | 10 | frappe.db.sql("DELETE FROM tabEmployee WHERE company='Test Org Chart'") |
| 11 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 12 | emp1 = create_employee("Test Employee 1", "CEO") |
| 13 | emp2 = create_employee("Test Employee 2", "CTO") |
| 14 | emp3 = create_employee("Test Employee 3", "Head of Marketing and Sales", emp1) |
| 15 | emp4 = create_employee("Test Employee 4", "Project Manager", emp2) |
| 16 | emp5 = create_employee("Test Employee 5", "Engineer", emp2) |
| 17 | emp6 = create_employee("Test Employee 6", "Analyst", emp3) |
| 18 | emp7 = create_employee("Test Employee 7", "Software Developer", emp4) |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 19 | |
Rucha Mahabal | a1d379d | 2021-07-15 19:19:09 +0530 | [diff] [blame] | 20 | employees = [emp1, emp2, emp3, emp4, emp5, emp6, emp7] |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 21 | return employees |
| 22 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 23 | |
Rucha Mahabal | 982a097 | 2021-07-19 22:19:28 +0530 | [diff] [blame] | 24 | @frappe.whitelist() |
| 25 | def get_employee_records(): |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 26 | return frappe.db.get_list( |
| 27 | "Employee", filters={"company": "Test Org Chart"}, pluck="name", order_by="name" |
| 28 | ) |
| 29 | |
Rucha Mahabal | 982a097 | 2021-07-19 22:19:28 +0530 | [diff] [blame] | 30 | |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 31 | def create_company(): |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 32 | company = frappe.db.exists("Company", "Test Org Chart") |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 33 | if not company: |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 34 | company = ( |
| 35 | frappe.get_doc( |
| 36 | { |
| 37 | "doctype": "Company", |
| 38 | "company_name": "Test Org Chart", |
| 39 | "country": "India", |
| 40 | "default_currency": "INR", |
| 41 | } |
| 42 | ) |
| 43 | .insert() |
| 44 | .name |
| 45 | ) |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 46 | |
| 47 | return company |
| 48 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 49 | |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 50 | def create_employee(first_name, designation, reports_to=None): |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 51 | employee = frappe.db.exists("Employee", {"first_name": first_name, "designation": designation}) |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 52 | if not employee: |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 53 | employee = ( |
| 54 | frappe.get_doc( |
| 55 | { |
| 56 | "doctype": "Employee", |
| 57 | "first_name": first_name, |
| 58 | "company": "Test Org Chart", |
| 59 | "gender": "Female", |
| 60 | "date_of_birth": getdate("08-12-1998"), |
| 61 | "date_of_joining": getdate("01-01-2021"), |
| 62 | "designation": designation, |
| 63 | "reports_to": reports_to, |
| 64 | } |
| 65 | ) |
| 66 | .insert() |
| 67 | .name |
| 68 | ) |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 69 | |
| 70 | return employee |
| 71 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 72 | |
Rucha Mahabal | 3cc85e1 | 2021-07-14 23:50:54 +0530 | [diff] [blame] | 73 | def create_missing_designation(): |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 74 | if not frappe.db.exists("Designation", "CTO"): |
| 75 | frappe.get_doc({"doctype": "Designation", "designation_name": "CTO"}).insert() |