From 16e6edd520df93c2f1b83c8e65296cb526f49fd3 Mon Sep 17 00:00:00 2001 From: Adurti Date: Mon, 25 Mar 2024 08:21:36 +0000 Subject: [PATCH] Bug 2356 Fixed: Able to update User with same project and role multiple times Change-Id: I1d010d4b1e27d20322d17731a190c85f8448c543 Signed-off-by: Adurti --- osm_nbi/admin_topics.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/osm_nbi/admin_topics.py b/osm_nbi/admin_topics.py index 0803ad6..b4f8980 100644 --- a/osm_nbi/admin_topics.py +++ b/osm_nbi/admin_topics.py @@ -1159,6 +1159,15 @@ class UserTopicAuth(UserTopic): # set if indata.get("project_role_mappings"): + duplicates = [] + for pr in indata.get("project_role_mappings"): + if pr not in duplicates: + duplicates.append(pr) + if len(indata.get("project_role_mappings")) > len(duplicates): + raise EngineException( + "Project-role combination should not be repeated", + http_code=HTTPStatus.UNPROCESSABLE_ENTITY, + ) for to_set in indata["project_role_mappings"]: for mapping in original_mapping: if to_set["project"] in ( -- 2.25.1