earthians / marley

Open Source Health Information System
https://frappehealth.com
GNU General Public License v3.0
291 stars 229 forks source link

KeyError: 'name' #259

Closed fkalpana closed 6 months ago

fkalpana commented 1 year ago

Information about bug

Error while opening Healthcare dashbord. KeyError: 'name'

Module

Patient History, Setup / Configuration

Version

"erpnext": "15.0.0-dev",
"frappe": "15.0.0-dev",
"healthcare": "15.0.0-dev"

Installation method

manual install

Relevant log output / Stack trace / Full Error Message.

### App Versions

{
    "erpnext": "15.0.0-dev",
    "frappe": "15.0.0-dev",
    "healthcare": "15.0.0-dev"
}

Route

dashboard-view/Healthcare

Traceback

Traceback (most recent call last):
  File "apps/frappe/frappe/app.py", line 83, in application
    response = frappe.api.handle()
               ^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api.py", line 53, in handle
    return _RESTAPIHandler(call, doctype, name).get_response()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api.py", line 69, in get_response
    return self.handle_method()
           ^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api.py", line 79, in handle_method
    return frappe.handler.handle()
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/handler.py", line 48, 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 1646, in call
    return fn(*args, **newargs)
           ^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/utils/typing_validations.py", line 30, 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 140, in get
    chart_config = get_group_by_chart_config(chart, filters)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/desk/doctype/dashboard_chart/dashboard_chart.py", line 295, in get_group_by_chart_config
    "labels": [item["name"] if item["name"] else "Not Specified" for item in data],
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/desk/doctype/dashboard_chart/dashboard_chart.py", line 295, in <listcomp>
    "labels": [item["name"] if item["name"] else "Not Specified" for item in data],
                               ~~~~^^^^^^^^
KeyError: 'name'

Request Data

{
    "type": "POST",
    "args": {
        "chart_name": "Diagnoses",
        "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"
}

Response Data

{
    "exception": "KeyError: 'name'"
}


### Code of Conduct

- [X] I agree to follow this project's Code of Conduct
fkalpana commented 1 year ago

Workaround- I have fixed it temporarily by commenting File "apps/frappe/frappe/desk/doctype/dashboard_chart/dashboard_chart.py", line 295

Like this

if data:
    return {
        #"labels": [item["name"] if item["name"] else "Not Specified" for item in data],     - -- this line commented.
        "datasets": [{"name": chart.name, "values": [item["count"] for item in data]}],
    }
else:
    return None