blob: 44834c8a77c89a70ba0ecfa575189bdff14a5fa4 [file] [log] [blame]
import frappe
from frappe.utils import getdate
@frappe.whitelist()
def create_employee_records():
create_company()
create_missing_designation()
frappe.db.sql("DELETE FROM tabEmployee WHERE company='Test Org Chart'")
emp1 = create_employee("Test Employee 1", "CEO")
emp2 = create_employee("Test Employee 2", "CTO")
emp3 = create_employee("Test Employee 3", "Head of Marketing and Sales", emp1)
emp4 = create_employee("Test Employee 4", "Project Manager", emp2)
emp5 = create_employee("Test Employee 5", "Engineer", emp2)
emp6 = create_employee("Test Employee 6", "Analyst", emp3)
emp7 = create_employee("Test Employee 7", "Software Developer", emp4)
employees = [emp1, emp2, emp3, emp4, emp5, emp6, emp7]
return employees
@frappe.whitelist()
def get_employee_records():
return frappe.db.get_list(
"Employee", filters={"company": "Test Org Chart"}, pluck="name", order_by="name"
)
def create_company():
company = frappe.db.exists("Company", "Test Org Chart")
if not company:
company = (
frappe.get_doc(
{
"doctype": "Company",
"company_name": "Test Org Chart",
"country": "India",
"default_currency": "INR",
}
)
.insert()
.name
)
return company
def create_employee(first_name, designation, reports_to=None):
employee = frappe.db.exists("Employee", {"first_name": first_name, "designation": designation})
if not employee:
employee = (
frappe.get_doc(
{
"doctype": "Employee",
"first_name": first_name,
"company": "Test Org Chart",
"gender": "Female",
"date_of_birth": getdate("08-12-1998"),
"date_of_joining": getdate("01-01-2021"),
"designation": designation,
"reports_to": reports_to,
}
)
.insert()
.name
)
return employee
def create_missing_designation():
if not frappe.db.exists("Designation", "CTO"):
frappe.get_doc({"doctype": "Designation", "designation_name": "CTO"}).insert()