From 023eb55113e29bfe840b04a01a0e35390bbb230f Mon Sep 17 00:00:00 2001 From: idelcano Date: Mon, 10 Jan 2022 12:07:15 +0100 Subject: [PATCH 1/2] Added file to remove roles from users --- DHIS2/metadata_manipulation/remove_old_roles | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 DHIS2/metadata_manipulation/remove_old_roles diff --git a/DHIS2/metadata_manipulation/remove_old_roles b/DHIS2/metadata_manipulation/remove_old_roles new file mode 100644 index 00000000..a251716c --- /dev/null +++ b/DHIS2/metadata_manipulation/remove_old_roles @@ -0,0 +1,35 @@ +import json + +from d2apy import dhis2api +from ipython_genutils.py3compat import xrange + + +def init_api(url, username, password): + return dhis2api.Dhis2Api(url, username, password) +query_old_roles = "/userRoles.json?filter=name:$like:_old_&paging=false&fields=id" +query_users_roles = "/users?filter=userCredentials.userRoles.id:in:[%s]&fields=*&paging=false" +api = init_api("https://..", "user", "pass") + +userRoles = api.get(query_old_roles) +id_filter = "" +for role in userRoles["userRoles"]: + id_filter = id_filter + role["id"]+"," +users = api.get((query_users_roles % id_filter).replace(",]","]")) +for user in users["users"]: + usercreed = user['userCredentials'] + + new_list = [] + for i in xrange(len(usercreed["userRoles"])): + is_old_role = False + if (usercreed["userRoles"][i]["id"] in id_filter): + is_old_role = True + if not is_old_role: + new_list.append(usercreed["userRoles"][i]) + usercreed["userRoles"] = new_list + +print (users) + +with open('user_result.json', 'w') as json_file: + json.dump(users, json_file,ensure_ascii=False) + + From e29d187ae41fa0bd4ab3276fd22ed09eab461322 Mon Sep 17 00:00:00 2001 From: idelcano Date: Mon, 10 Jan 2022 12:07:47 +0100 Subject: [PATCH 2/2] Rename remove_old_roles to remove_old_roles.py --- .../{remove_old_roles => remove_old_roles.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename DHIS2/metadata_manipulation/{remove_old_roles => remove_old_roles.py} (100%) diff --git a/DHIS2/metadata_manipulation/remove_old_roles b/DHIS2/metadata_manipulation/remove_old_roles.py similarity index 100% rename from DHIS2/metadata_manipulation/remove_old_roles rename to DHIS2/metadata_manipulation/remove_old_roles.py