@@ -102,7 +102,7 @@ def change_workspace_group(
102
102
WorkspaceResponse:
103
103
"""
104
104
workspace_id = params .workspace_id
105
- workspace_group_id = params .workspace_group_id
105
+ new_workspace_group_id = params .workspace_group_id
106
106
domain_id = params .domain_id
107
107
108
108
workspace_vo = self .workspace_mgr .get_workspace (
@@ -112,12 +112,12 @@ def change_workspace_group(
112
112
old_workspace_group_id = workspace_vo .workspace_group_id
113
113
is_updatable = True
114
114
workspace_group_vo = None
115
- if workspace_group_id :
115
+ if new_workspace_group_id :
116
116
workspace_group_vo = self .workspace_group_mgr .get_workspace_group (
117
- workspace_group_id , domain_id
117
+ new_workspace_group_id , domain_id
118
118
)
119
119
is_updatable = self ._add_workspace_to_group (
120
- workspace_id , workspace_group_id , domain_id
120
+ workspace_id , new_workspace_group_id , domain_id
121
121
)
122
122
elif old_workspace_group_id :
123
123
workspace_group_vo = self .workspace_group_mgr .get_workspace_group (
@@ -132,17 +132,23 @@ def change_workspace_group(
132
132
params .dict (exclude_unset = False ), workspace_vo
133
133
)
134
134
135
- workspace_vos = None
136
- if workspace_group_id :
135
+ if new_workspace_group_id :
137
136
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
139
142
)
140
- elif old_workspace_group_id :
143
+ if old_workspace_group_id :
141
144
workspace_vos = self .workspace_mgr .filter_workspaces (
142
145
workspace_group_id = old_workspace_group_id , domain_id = domain_id
143
146
)
144
147
145
- if workspace_vos :
148
+ workspace_group_vo = self .workspace_group_mgr .get_workspace_group (
149
+ old_workspace_group_id , domain_id
150
+ )
151
+
146
152
self .workspace_group_mgr .update_workspace_group_by_vo (
147
153
{"workspace_count" : len (workspace_vos )}, workspace_group_vo
148
154
)
@@ -445,8 +451,10 @@ def _remove_workspace_from_group(
445
451
workspace_id = workspace_id , domain_id = domain_id
446
452
)
447
453
workspace_vo .changed_at = datetime .utcnow ()
454
+ workspace_vo .workspace_group_id = None
448
455
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 ,
450
458
)
451
459
452
460
@staticmethod
0 commit comments