Integrating FCRM and Lending and getting a unique error bug

Hi there,

I’m currently working on an integration involving ERPNext, Frappe CRM, and Lending. In older versions of Frappe, we were able to switch between apps directly from the sidebar. However, in the newer versions, this behavior seems to have changed — instead of app switching, the desk now shows icons based on modules (as I understand it).

Since the CRM portal uses a separate Vue-based frontend, it still displays the older-style app switcher and allows switching between apps (as shown in Image 1).

The issue arises when I select the Lending app from this list — I get redirected to the Lending app, but it immediately throws an error (as shown in Image 2).

I’d appreciate some insight into whether this is:
an expected behavior due to changes in how app/module navigation works in newer Frappe versions,
a configuration issue on my side, or
a known bug on the Frappe/Lending side.

Any guidance on how to properly handle app switching in this setup, or how to resolve this error, would be greatly appreciated.

Error Message:

App Versions

{
	"frappe": "16.0.0-dev",
	"crm": "2.0.0-dev",
	"erpnext": "16.0.0-dev",
	"lending": "0.0.1",
	"dreamlink": "0.0.1"
}

Route

Workspaces/Lending

Traceback

Traceback (most recent call last):
  File "apps/frappe/frappe/app.py", line 121, in application
    response = frappe.api.handle(request)
  File "apps/frappe/frappe/api/__init__.py", line 63, in handle
    data = endpoint(**arguments)
  File "apps/frappe/frappe/api/v1.py", line 40, in handle_rpc_call
    return frappe.handler.handle()
  File "apps/frappe/frappe/handler.py", line 53, in handle
    data = execute_cmd(cmd)
  File "apps/frappe/frappe/handler.py", line 86, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
  File "apps/frappe/frappe/__init__.py", line 1126, in call
    return fn(*args, **newargs)
  File "apps/frappe/frappe/utils/typing_validations.py", line 36, in wrapper
    return func(*args, **kwargs)
  File "apps/frappe/frappe/utils/dashboard.py", line 26, in wrapper
    results = generate_and_cache_results(kwargs, function, cache_key, chart)
  File "apps/frappe/frappe/utils/dashboard.py", line 41, in generate_and_cache_results
    results = function(
  File "apps/frappe/frappe/desk/doctype/dashboard_chart/dashboard_chart.py", line 136, in get
    chart_config = get_chart_config(chart, filters, timespan, timegrain, from_date, to_date)
  File "apps/frappe/frappe/desk/doctype/dashboard_chart/dashboard_chart.py", line 202, in get_chart_config
    data = frappe.get_list(
  File "apps/frappe/frappe/__init__.py", line 1359, in get_list
    return frappe.model.qb_query.DatabaseQuery(doctype).execute(*args, **kwargs)
  File "apps/frappe/frappe/model/qb_query.py", line 203, in execute
    query = frappe.qb.get_query(**kwargs)
  File "apps/frappe/frappe/query_builder/utils.py", line 65, in get_query
    return Engine().get_query(*args, **kwargs)
  File "apps/frappe/frappe/database/query.py", line 294, in get_query
    self.apply_filters(filters)
  File "apps/frappe/frappe/database/query.py", line 442, in apply_filters
    self.apply_list_filters(
  File "apps/frappe/frappe/database/query.py", line 496, in apply_list_filters
    raise ValueError(f"Unknown filter format: {filter}")
ValueError: Unknown filter format: ['Loan', 'docstatus', '=', '1', False]

Request Data

{
	"type": "POST",
	"args": {
		"chart_name": "New Loans",
		"refresh": 1,
		"time_interval": null,
		"timespan": null,
		"from_date": null,
		"to_date": null,
		"heatmap_year": null
	},
	"headers": {},
	"error_handlers": {},
	"url": "/api/method/frappe.desk.doctype.dashboard_chart.dashboard_chart.get",
	"request_id": null
}

Response Data

{
	"exception": "ValueError: Unknown filter format: ['Loan', 'docstatus', '=', '1', False]",
	"exc_type": "ValueError"
}

Thank you

Heshan K

Hello @Heshan_Karunaratne,

It has been fixed, so please check the latest update.

1 Like

Thank you very much @NCP!!!