From cf78b0eaf5e16d6be63aa21c99d6b2a3bc47ffe1 Mon Sep 17 00:00:00 2001 From: Chi Lo Date: Sat, 4 May 2019 14:54:20 -0700 Subject: [PATCH] Put users id in a list per domain This patch put users id in a list per domain in the get group users response. Change-Id: I08375e23d6be9a796388848f15fd28afcc51ef2a --- .../cms_rest/data/sql_alchemy/models.py | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/orm/services/customer_manager/cms_rest/data/sql_alchemy/models.py b/orm/services/customer_manager/cms_rest/data/sql_alchemy/models.py index 0dc9bef7..b70cb675 100755 --- a/orm/services/customer_manager/cms_rest/data/sql_alchemy/models.py +++ b/orm/services/customer_manager/cms_rest/data/sql_alchemy/models.py @@ -137,10 +137,17 @@ class Groups(Base, CMSBaseModel): roles = sorted(set(customer_roles + domain_roles)) users = [] + unique_domain = {} for user in self.groups_users: if user.region_id == -1: - users.append(GroupWsmeModels.User(id=[user.user.name], - domain=user.domain_name)) + if user.domain_name in unique_domain: + unique_domain[user.domain_name].append(user.user.name) + else: + unique_domain[user.domain_name] = [user.user.name] + + for domain, domain_user in unique_domain.items(): + users.append(GroupWsmeModels.User(id=domain_user, + domain=domain)) result = GroupWsmeModels.Group(description=description, name=name, @@ -198,12 +205,19 @@ class GroupsRegion(Base, CMSBaseModel): def to_wsme(self): name = self.region.name type = self.region.type - users = [] + users = [] + unique_domain = {} for user in self.group_region_users: if user.region_id != -1: - users.append(GroupWsmeModels.User(id=[user.user.name], - domain=user.domain_name)) + if user.domain_name in unique_domain: + unique_domain[user.domain_name].append(user.user.name) + else: + unique_domain[user.domain_name] = [user.user.name] + + for domain, domain_user in unique_domain.items(): + users.append(GroupWsmeModels.User(id=domain_user, + domain=domain)) region = GroupWsmeModels.Region(name=name, type=type,