[CLD-6373] Fix non-admin users requesting self hosted expansion status on load (#24890)
* Fix non-admin users requesting self hosted expansion status on load * Fix linter --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
@@ -7,6 +7,7 @@ import {useSelector} from 'react-redux';
|
|||||||
import {Client4} from 'mattermost-redux/client';
|
import {Client4} from 'mattermost-redux/client';
|
||||||
import {getSubscriptionProduct} from 'mattermost-redux/selectors/entities/cloud';
|
import {getSubscriptionProduct} from 'mattermost-redux/selectors/entities/cloud';
|
||||||
import {getConfig, getLicense} from 'mattermost-redux/selectors/entities/general';
|
import {getConfig, getLicense} from 'mattermost-redux/selectors/entities/general';
|
||||||
|
import {isCurrentUserSystemAdmin} from 'mattermost-redux/selectors/entities/users';
|
||||||
|
|
||||||
import {BillingSchemes, SelfHostedProducts} from 'utils/constants';
|
import {BillingSchemes, SelfHostedProducts} from 'utils/constants';
|
||||||
import {findSelfHostedProductBySku} from 'utils/hosted_customer';
|
import {findSelfHostedProductBySku} from 'utils/hosted_customer';
|
||||||
@@ -23,12 +24,13 @@ export default function useCanSelfHostedExpand() {
|
|||||||
const isCloud = isCloudLicense(license);
|
const isCloud = isCloudLicense(license);
|
||||||
const [products] = useGetSelfHostedProducts();
|
const [products] = useGetSelfHostedProducts();
|
||||||
const currentProduct = findSelfHostedProductBySku(products, license.SkuShortName);
|
const currentProduct = findSelfHostedProductBySku(products, license.SkuShortName);
|
||||||
|
const isAdmin = useSelector(isCurrentUserSystemAdmin);
|
||||||
|
|
||||||
// Self Hosted Products never contains a product for starter, additional check is done out of caution.
|
// Self Hosted Products never contains a product for starter, additional check is done out of caution.
|
||||||
const isSelfHostedStarter = currentProduct === null || currentProduct?.sku === SelfHostedProducts.STARTER;
|
const isSelfHostedStarter = currentProduct === null || currentProduct?.sku === SelfHostedProducts.STARTER;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!isEnterpriseReady) {
|
if (!isEnterpriseReady || !isAdmin) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Client4.getLicenseSelfServeStatus().
|
Client4.getLicenseSelfServeStatus().
|
||||||
@@ -38,7 +40,7 @@ export default function useCanSelfHostedExpand() {
|
|||||||
catch(() => {
|
catch(() => {
|
||||||
setExpansionAvailable(false);
|
setExpansionAvailable(false);
|
||||||
});
|
});
|
||||||
}, [isEnterpriseReady]);
|
}, [isEnterpriseReady, isAdmin]);
|
||||||
|
|
||||||
return !isCloud && !isSelfHostedStarter && !isSalesServeOnly && expansionAvailable;
|
return !isCloud && !isSelfHostedStarter && !isSalesServeOnly && expansionAvailable;
|
||||||
}
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user