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,