fix: minor recritment analytics fixes (#22830)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
diff --git a/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py b/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py
index 8672094..e961114 100644
--- a/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py
+++ b/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py
@@ -96,33 +96,35 @@
def get_parent_row(sp_jo_map, sp, jo_ja_map, ja_joff_map):
data = []
- for jo in sp_jo_map[sp]:
- row = {
- "staffing_plan" : sp,
- "job_opening" : jo["name"],
- }
- data.append(row)
- child_row = get_child_row( jo["name"], jo_ja_map, ja_joff_map)
- data += child_row
+ if sp in sp_jo_map.keys():
+ for jo in sp_jo_map[sp]:
+ row = {
+ "staffing_plan" : sp,
+ "job_opening" : jo["name"],
+ }
+ data.append(row)
+ child_row = get_child_row( jo["name"], jo_ja_map, ja_joff_map)
+ data += child_row
return data
def get_child_row(jo, jo_ja_map, ja_joff_map):
data = []
- for ja in jo_ja_map[jo]:
- row = {
- "indent":1,
- "job_applicant": ja.name,
- "applicant_name": ja.applicant_name,
- "application_status": ja.status,
- }
- if ja.name in ja_joff_map.keys():
- jo_detail =ja_joff_map[ja.name][0]
- row["job_offer"] = jo_detail.name
- row["job_offer_status"] = jo_detail.status
- row["offer_date"]= jo_detail.offer_date.strftime("%d-%m-%Y")
- row["designation"] = jo_detail.designation
+ if jo in jo_ja_map.keys():
+ for ja in jo_ja_map[jo]:
+ row = {
+ "indent":1,
+ "job_applicant": ja.name,
+ "applicant_name": ja.applicant_name,
+ "application_status": ja.status,
+ }
+ if ja.name in ja_joff_map.keys():
+ jo_detail =ja_joff_map[ja.name][0]
+ row["job_offer"] = jo_detail.name
+ row["job_offer_status"] = jo_detail.status
+ row["offer_date"]= jo_detail.offer_date.strftime("%d-%m-%Y")
+ row["designation"] = jo_detail.designation
- data.append(row)
+ data.append(row)
return data
def get_staffing_plan(filters):
@@ -177,7 +179,7 @@
def get_job_offer(ja_list):
ja_joff_map = {}
- offers = frappe.get_all("Job offer", filters = [["job_applicant", "IN", ja_list]], fields =["name", "job_applicant", "status", 'offer_date', 'designation'])
+ offers = frappe.get_all("Job Offer", filters = [["job_applicant", "IN", ja_list]], fields =["name", "job_applicant", "status", 'offer_date', 'designation'])
for offer in offers:
if offer.job_applicant not in ja_joff_map.keys():