diff --git a/api/controllers/console/auth/forgot_password.py b/api/controllers/console/auth/forgot_password.py index 750be197df..31782b9554 100644 --- a/api/controllers/console/auth/forgot_password.py +++ b/api/controllers/console/auth/forgot_password.py @@ -11,7 +11,6 @@ from controllers.console.error import ( AccountInFreezeError, AccountNotFound, EmailSendIpLimitError, - WorkspacesLimitExceeded, ) from controllers.console.wraps import setup_required from events.tenant_event import tenant_was_created @@ -133,7 +132,7 @@ class ForgotPasswordResetApi(Resource): except AccountRegisterError as are: raise AccountInFreezeError() except WorkspacesLimitExceededError: - raise WorkspacesLimitExceeded() + pass return {"result": "success"} diff --git a/api/controllers/console/auth/login.py b/api/controllers/console/auth/login.py index c475466a79..4dc04a0455 100644 --- a/api/controllers/console/auth/login.py +++ b/api/controllers/console/auth/login.py @@ -88,10 +88,19 @@ class LoginApi(Resource): # SELF_HOSTED only have one workspace tenants = TenantService.get_join_tenants(account) if len(tenants) == 0: - return { - "result": "fail", - "data": "workspace not found, please contact system admin to invite you to join in a workspace", - } + system_features = FeatureService.get_system_features() + + if ( + system_features.is_allow_create_workspace + and system_features.license.workspaces.limit != 0 + and system_features.license.workspaces.limit - system_features.license.workspaces.size <= 0 + ): + raise WorkspacesLimitExceeded() + else: + return { + "result": "fail", + "data": "workspace not found, please contact system admin to invite you to join in a workspace", + } token_pair = AccountService.login(account=account, ip_address=extract_remote_ip(request)) AccountService.reset_login_error_rate_limit(args["email"]) diff --git a/api/services/account_service.py b/api/services/account_service.py index e053423f5d..ae5f085f34 100644 --- a/api/services/account_service.py +++ b/api/services/account_service.py @@ -54,6 +54,7 @@ from services.feature_service import FeatureService from tasks.delete_account_task import delete_account_task from tasks.mail_account_deletion_task import send_account_deletion_verification_code from tasks.mail_invite_member_task import send_invite_member_mail_task +from tasks.mail_reset_password_task import send_reset_password_mail_task class TokenPair(BaseModel):