diff --git a/erpnext/crm/doctype/appointment/appointment.py b/erpnext/crm/doctype/appointment/appointment.py index 1b39146bbb2..811cc784cc1 100644 --- a/erpnext/crm/doctype/appointment/appointment.py +++ b/erpnext/crm/doctype/appointment/appointment.py @@ -234,10 +234,13 @@ def _get_agents_sorted_by_asc_workload(date): return agent_list appointment_counter = Counter(agent_list) for appointment in appointments: - assigned_to = frappe.parse_json(appointment._assign) - if not assigned_to: + assign_data = appointment._assign + if isinstance(assign_data, str): + assign_data = assign_data.strip() + if not assign_data: continue - if (assigned_to[0] in agent_list) and getdate(appointment.scheduled_time) == date: + assigned_to = frappe.parse_json(assign_data) + if assigned_to and (assigned_to[0] in agent_list) and getdate(appointment.scheduled_time) == date: appointment_counter[assigned_to[0]] += 1 sorted_agent_list = appointment_counter.most_common() sorted_agent_list.reverse()