1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-19 10:26:17 +00:00

check user count limit when org admin import users (#5494)

This commit is contained in:
lian
2023-06-06 11:05:38 +08:00
committed by GitHub
parent 33131a02cb
commit 47421dac77

View File

@@ -616,17 +616,6 @@ class OrgAdminImportUsers(APIView):
error_msg = 'Organization %s not found.' % org_id
return api_error(status.HTTP_404_NOT_FOUND, error_msg)
# check plan
url_prefix = request.user.org.url_prefix
org_members = len(ccnet_api.get_org_users_by_url_prefix(url_prefix, -1, -1))
if ORG_MEMBER_QUOTA_ENABLED:
from seahub.organizations.models import OrgMemberQuota
org_members_quota = OrgMemberQuota.objects.get_quota(request.user.org.org_id)
if org_members_quota is not None and org_members >= org_members_quota:
err_msg = 'Failed. You can only invite %d members.' % org_members_quota
return api_error(status.HTTP_403_FORBIDDEN, err_msg)
xlsx_file = request.FILES.get('file', None)
if not xlsx_file:
error_msg = 'file can not be found.'
@@ -659,6 +648,17 @@ class OrgAdminImportUsers(APIView):
if not all(col.value is None for col in row):
records.append([col.value for col in row])
# check plan
url_prefix = request.user.org.url_prefix
org_members = len(ccnet_api.get_org_users_by_url_prefix(url_prefix, -1, -1))
if ORG_MEMBER_QUOTA_ENABLED:
from seahub.organizations.models import OrgMemberQuota
org_members_quota = OrgMemberQuota.objects.get_quota(request.user.org.org_id)
if org_members_quota is not None and org_members+len(records) > org_members_quota:
err_msg = 'The number of users exceeds the limit.'
return api_error(status.HTTP_403_FORBIDDEN, err_msg)
if user_number_over_limit(new_users=len(records)):
error_msg = 'The number of users exceeds the limit.'
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)