Skip to content

Commit 0e90890

Browse files
committed
fix: When adding members in bulk, existing members will be automatically passed in, do not affect the joining of other members #2351
1 parent 218a247 commit 0e90890

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

apps/setting/serializers/team_serializers.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ def is_valid(self, *, user_id=None):
101101
os.path.join(PROJECT_DIR, "apps", "setting", 'sql', 'check_member_permission_target_exists.sql')),
102102
[json.dumps(permission_list), user_id, user_id])
103103
if illegal_target_id_list is not None and len(illegal_target_id_list) > 0:
104-
raise AppApiException(500, _('Non-existent application|knowledge base id[') + str(illegal_target_id_list) + ']')
104+
raise AppApiException(500,
105+
_('Non-existent application|knowledge base id[') + str(illegal_target_id_list) + ']')
105106

106107
def update_or_save(self, member_id: str):
107108
team_member_permission_list = self.data.get("team_member_permission_list")
@@ -188,18 +189,20 @@ def batch_add_member(self, user_id_list: List[str], with_valid=True):
188189
create_team_member_list = [
189190
self.to_member_model(add_user_id, team_member_user_id_list, use_user_id_list, team_id) for add_user_id in
190191
user_id_list]
191-
QuerySet(TeamMember).bulk_create(create_team_member_list) if len(create_team_member_list) > 0 else None
192+
QuerySet(TeamMember).bulk_create(
193+
[team_member for team_member in create_team_member_list if team_member is not None]) if len(
194+
create_team_member_list) > 0 else None
192195
return TeamMemberSerializer(
193196
data={'team_id': self.data.get("team_id")}).list_member()
194197

195198
def to_member_model(self, add_user_id, team_member_user_id_list, use_user_id_list, user_id):
196199
if use_user_id_list.__contains__(add_user_id):
197200
if team_member_user_id_list.__contains__(add_user_id) or user_id == add_user_id:
198-
raise AppApiException(500, _('The current members already exist in the team, do not add them again.'))
201+
return None
199202
else:
200203
return TeamMember(team_id=self.data.get("team_id"), user_id=add_user_id)
201204
else:
202-
raise AppApiException(500, _('User does not exist'))
205+
return None
203206

204207
def add_member(self, username_or_email: str, with_valid=True):
205208
"""
@@ -318,4 +321,4 @@ def get_request_params_api():
318321
in_=openapi.IN_PATH,
319322
type=openapi.TYPE_STRING,
320323
required=True,
321-
description=_('member id')),]
324+
description=_('member id')), ]

0 commit comments

Comments
 (0)