From 96639a3895581e7ed34239cf508cdaa158c1a1e4 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <timm.fitschen@ds.mpg.de>
Date: Tue, 4 Dec 2018 16:07:53 +0100
Subject: [PATCH] BUG: administration: ignore userinfo when parsing roles

---
 src/caosdb/common/administration.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/caosdb/common/administration.py b/src/caosdb/common/administration.py
index 7f721713..27a0cd06 100644
--- a/src/caosdb/common/administration.py
+++ b/src/caosdb/common/administration.py
@@ -154,6 +154,7 @@ def _delete_role(name, **kwargs):
 
 def _set_roles(username, roles, realm=None, **kwargs):
     xml = etree.Element("Roles")
+    print(roles)
     for r in roles:
         xml.append(etree.Element("Role", name=r))
 
@@ -189,8 +190,9 @@ def _get_roles(username, realm=None, **kwargs):
         e.msg = "User does not exist."
         raise
     ret = set()
-    for r in etree.fromstring(body)[0]:
-        ret.add(r.get("name"))
+    for r in etree.fromstring(body).xpath('/Response/Roles')[0]:
+        if r.tag == "Role":
+            ret.add(r.get("name"))
     return ret
 
 
-- 
GitLab