From: Eduardo Sousa Date: Tue, 28 May 2019 13:25:00 +0000 (+0100) Subject: Throwing error when old format is used with Keystone X-Git-Tag: v6.0.0~34 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=refs%2Fchanges%2F61%2F7561%2F2;p=osm%2FNBI.git Throwing error when old format is used with Keystone Change-Id: I1a999d7126c448b4b119885d016ac47152914442 Signed-off-by: Eduardo Sousa --- diff --git a/osm_nbi/admin_topics.py b/osm_nbi/admin_topics.py index 07f18da..31937f9 100644 --- a/osm_nbi/admin_topics.py +++ b/osm_nbi/admin_topics.py @@ -84,6 +84,13 @@ class UserTopic(BaseTopic): content["_admin"]["salt"] = salt if content.get("password"): content["password"] = sha256(content["password"].encode('utf-8') + salt.encode('utf-8')).hexdigest() + if content.get("project_role_mappings"): + projects = [mapping[0] for mapping in content["project_role_mappings"]] + + if content.get("projects"): + content["projects"] += projects + else: + content["projects"] = projects @staticmethod def format_on_edit(final_content, edit_content): @@ -387,6 +394,10 @@ class UserTopicAuth(UserTopic): username = indata.get("username") user_list = list(map(lambda x: x["username"], self.auth.get_user_list())) + if "projects" in indata.keys(): + raise EngineException("Format invalid: the keyword \"projects\" is not allowed for Keystone", + HTTPStatus.BAD_REQUEST) + if username in user_list: raise EngineException("username '{}' exists".format(username), HTTPStatus.CONFLICT)