[MM-51844 & MM-51843] Work template permissions check (#22825)
Этот коммит содержится в:
@@ -3,14 +3,23 @@
|
||||
|
||||
import {createSelector} from 'reselect';
|
||||
|
||||
import {getFeatureFlagValue} from 'mattermost-redux/selectors/entities/general';
|
||||
import {getFeatureFlagValue, getLicense} from 'mattermost-redux/selectors/entities/general';
|
||||
import {GlobalState} from 'types/store';
|
||||
import {haveICurrentTeamPermission} from 'mattermost-redux/selectors/entities/roles';
|
||||
import {Permissions} from 'mattermost-redux/constants';
|
||||
import {isEnterpriseOrE20License} from 'utils/license_utils';
|
||||
|
||||
export const areWorkTemplatesEnabled = createSelector(
|
||||
'areWorktemplatesEnabled',
|
||||
(state: GlobalState) => getFeatureFlagValue(state, 'WorkTemplate') === 'true',
|
||||
(workTemplateFF) => {
|
||||
return workTemplateFF;
|
||||
(state: GlobalState) => getLicense(state),
|
||||
(state: GlobalState) => haveICurrentTeamPermission(state, Permissions.CREATE_PUBLIC_CHANNEL) || haveICurrentTeamPermission(state, Permissions.CREATE_PRIVATE_CHANNEL),
|
||||
(state: GlobalState) => haveICurrentTeamPermission(state, Permissions.PLAYBOOK_PUBLIC_CREATE),
|
||||
(state: GlobalState) => haveICurrentTeamPermission(state, Permissions.PLAYBOOK_PRIVATE_CREATE),
|
||||
(workTemplateFF, license, canCreateChannel, canCreatePublicPlaybook, canCreatePrivatePlaybook) => {
|
||||
const licenseIsEnterprise = isEnterpriseOrE20License(license);
|
||||
const canCreatePlaybook = canCreatePublicPlaybook || (canCreatePrivatePlaybook && licenseIsEnterprise);
|
||||
return workTemplateFF && canCreateChannel && canCreatePlaybook;
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user