Skip to content

Commit

Permalink
fix: adds fields to levels of organisation units (#77)
Browse files Browse the repository at this point in the history
* fix: adds feilds to levels of organisation units

* move out fields split
  • Loading branch information
nazarfil authored Dec 31, 2024
1 parent 68ed604 commit 7173506
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions openhexa/toolbox/dhis2/dhis2.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,24 +51,24 @@ def identifiable_objects(self, uid: str) -> dict:
r = self.client.api.get(f"identifiableObjects/{uid}")
return r

def organisation_unit_levels(self) -> List[dict]:
def organisation_unit_levels(self, fields: str = "id,name,level") -> List[dict]:
"""Get names of all organisation unit levels.
Parameters
----------
fields: str, optional
DHIS2 fields to include in the response, where default value is "id,name,level"
Return
------
list of dict
Id, number and name of each org unit level.
"""
r = self.client.api.get("filledOrganisationUnitLevels")
params = {"fields": fields}
r = self.client.api.get("filledOrganisationUnitLevels", params=params)
levels = []
fields_list = fields.split(",")
for level in r:
levels.append(
{
"id": level.get("id"),
"level": level.get("level"),
"name": level.get("name"),
}
)
levels.append({k: v for k, v in level.items() if k in fields_list})
return levels

def organisation_units(self, fields: str = "id,name,level,path,geometry", filter: str = None) -> List[dict]:
Expand Down

0 comments on commit 7173506

Please sign in to comment.