Skip to content

Commit f68461a

Browse files
committed
fix: modify code when change workspace's workspace group
Signed-off-by: Youngjin Jo <[email protected]>
1 parent c29a683 commit f68461a

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

src/spaceone/identity/service/workspace_service.py

+18-10
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def change_workspace_group(
102102
WorkspaceResponse:
103103
"""
104104
workspace_id = params.workspace_id
105-
workspace_group_id = params.workspace_group_id
105+
new_workspace_group_id = params.workspace_group_id
106106
domain_id = params.domain_id
107107

108108
workspace_vo = self.workspace_mgr.get_workspace(
@@ -112,12 +112,12 @@ def change_workspace_group(
112112
old_workspace_group_id = workspace_vo.workspace_group_id
113113
is_updatable = True
114114
workspace_group_vo = None
115-
if workspace_group_id:
115+
if new_workspace_group_id:
116116
workspace_group_vo = self.workspace_group_mgr.get_workspace_group(
117-
workspace_group_id, domain_id
117+
new_workspace_group_id, domain_id
118118
)
119119
is_updatable = self._add_workspace_to_group(
120-
workspace_id, workspace_group_id, domain_id
120+
workspace_id, new_workspace_group_id, domain_id
121121
)
122122
elif old_workspace_group_id:
123123
workspace_group_vo = self.workspace_group_mgr.get_workspace_group(
@@ -132,17 +132,23 @@ def change_workspace_group(
132132
params.dict(exclude_unset=False), workspace_vo
133133
)
134134

135-
workspace_vos = None
136-
if workspace_group_id:
135+
if new_workspace_group_id:
137136
workspace_vos = self.workspace_mgr.filter_workspaces(
138-
workspace_group_id=workspace_group_id, domain_id=domain_id
137+
workspace_group_id=new_workspace_group_id, domain_id=domain_id
138+
)
139+
140+
self.workspace_group_mgr.update_workspace_group_by_vo(
141+
{"workspace_count": len(workspace_vos)}, workspace_group_vo
139142
)
140-
elif old_workspace_group_id:
143+
if old_workspace_group_id:
141144
workspace_vos = self.workspace_mgr.filter_workspaces(
142145
workspace_group_id=old_workspace_group_id, domain_id=domain_id
143146
)
144147

145-
if workspace_vos:
148+
workspace_group_vo = self.workspace_group_mgr.get_workspace_group(
149+
old_workspace_group_id, domain_id
150+
)
151+
146152
self.workspace_group_mgr.update_workspace_group_by_vo(
147153
{"workspace_count": len(workspace_vos)}, workspace_group_vo
148154
)
@@ -445,8 +451,10 @@ def _remove_workspace_from_group(
445451
workspace_id=workspace_id, domain_id=domain_id
446452
)
447453
workspace_vo.changed_at = datetime.utcnow()
454+
workspace_vo.workspace_group_id = None
448455
self.workspace_mgr.update_workspace_by_vo(
449-
{"changed_at": workspace_vo.changed_at}, workspace_vo
456+
{"changed_at": workspace_vo.changed_at, "workspace_group_id": None},
457+
workspace_vo,
450458
)
451459

452460
@staticmethod

0 commit comments

Comments
 (0)