mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-19 18:29:23 +00:00
check user count limit when org admin import users (#5494)
This commit is contained in:
@@ -616,17 +616,6 @@ class OrgAdminImportUsers(APIView):
|
|||||||
error_msg = 'Organization %s not found.' % org_id
|
error_msg = 'Organization %s not found.' % org_id
|
||||||
return api_error(status.HTTP_404_NOT_FOUND, error_msg)
|
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)
|
xlsx_file = request.FILES.get('file', None)
|
||||||
if not xlsx_file:
|
if not xlsx_file:
|
||||||
error_msg = 'file can not be found.'
|
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):
|
if not all(col.value is None for col in row):
|
||||||
records.append([col.value 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)):
|
if user_number_over_limit(new_users=len(records)):
|
||||||
error_msg = 'The number of users exceeds the limit.'
|
error_msg = 'The number of users exceeds the limit.'
|
||||||
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
||||||
|
Reference in New Issue
Block a user