diff --git a/packages/client/src/components/panels/InvitePanel/index.js b/packages/client/src/components/panels/InvitePanel/index.js index e3b1e6da77..29047271a8 100644 --- a/packages/client/src/components/panels/InvitePanel/index.js +++ b/packages/client/src/components/panels/InvitePanel/index.js @@ -89,6 +89,7 @@ const InvitePanel = ({ maxCountManagersByQuota, invitePaidUsersCount, setIsNewUserByCurrentUser, + setInvitePaidUsersCount, }) => { const [invitePanelIsLoding, setInvitePanelIsLoading] = useState( roomId !== -1, @@ -337,6 +338,7 @@ const InvitePanel = ({ setIsNewUserByCurrentUser(true); } setIsLoading(false); + setInvitePaidUsersCount(0); onClose(); toastr.success(t("Common:UsersInvited")); @@ -550,6 +552,7 @@ export default inject( setInviteLanguage, invitePaidUsersCount, setIsNewUserByCurrentUser, + setInvitePaidUsersCount, } = dialogsStore; const { getFolderInfo, setRoomSecurity, getRoomSecurityInfo, folders } = @@ -584,6 +587,7 @@ export default inject( maxCountManagersByQuota, invitePaidUsersCount, setIsNewUserByCurrentUser, + setInvitePaidUsersCount, }; }, )( diff --git a/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js b/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js index c3fd59889f..81db636762 100644 --- a/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js +++ b/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js @@ -138,17 +138,25 @@ const InviteInput = ({ const uid = () => Math.random().toString(36).slice(-6); let userAccess = selectedAccess; + const isAccounts = roomId === -1; + const isPaidAccess = isAccounts + ? isPaidUserAccess(userAccess) + : isPaidUserRole(userAccess); + if (addresses.length > 1) { let isShowErrorToast = false; const itemsArray = addresses.map((address) => { - - if (roomId === -1 && isPaidUserAccess(userAccess)) { + if (isPaidAccess) { if (isPaidUserLimit) { - const freeType = EmployeeType.Guest; + const FreeUser = isAccounts + ? EmployeeType.Guest + : getTopFreeRole(t, roomType)?.access; - userAccess = freeType; - isShowErrorToast = true; + if (FreeUser) { + userAccess = FreeUser; + isShowErrorToast = true; + } } else { setInvitePaidUsersCount(); } @@ -169,26 +177,21 @@ const InviteInput = ({ return itemsArray; } - - if (roomId === -1 && isPaidUserAccess(userAccess)) { + if (isPaidAccess) { if (isPaidUserLimit) { - const freeType = EmployeeType.Guest; + const FreeUser = isAccounts + ? EmployeeType.Guest + : getTopFreeRole(t, roomType)?.access; - userAccess = freeType; - toastr.error(); + if (FreeUser) { + userAccess = FreeUser; + toastr.error(); + } } else { setInvitePaidUsersCount(); } } - if (isPaidUserLimit && roomId !== -1 && isPaidUserRole(userAccess)) { - const freeRole = getTopFreeRole(t, roomType)?.access; - if (freeRole) { - userAccess = freeRole; - toastr.error(); - } - } - return { email: addresses[0].email, id: uid(),