diff --git a/src/CONST.js b/src/CONST.js index a82a4cfb1605..694fceca5a22 100755 --- a/src/CONST.js +++ b/src/CONST.js @@ -103,6 +103,7 @@ const CONST = { BETA_EXPENSIFY_WALLET: 'expensifyWallet', INTERNATIONALIZATION: 'internationalization', IOU_SEND: 'sendMoney', + POLICY_ROOMS: 'policyRooms', }, BUTTON_STATES: { DEFAULT: 'default', diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index 4c93c65b0d09..43f799ddb1e6 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -415,6 +415,10 @@ function getOptions(reports, personalDetails, activeReportID, { return; } + if (ReportUtils.isUserCreatedPolicyRoom(report) && !Permissions.canUsePolicyRooms(betas)) { + return; + } + const reportPersonalDetails = getPersonalDetailsForLogins(logins, personalDetails); // Save the report in the map if this is a single participant so we can associate the reportID with the diff --git a/src/libs/Permissions.js b/src/libs/Permissions.js index 492431550c21..2e6e80cb1297 100644 --- a/src/libs/Permissions.js +++ b/src/libs/Permissions.js @@ -77,6 +77,18 @@ function canUseWallet(betas) { return _.contains(betas, CONST.BETAS.BETA_EXPENSIFY_WALLET) || canUseAllBetas(betas); } +/** + * We're requiring you to be added to the policy rooms beta on dev, + * since contributors have been reporting a number of false issues related to the feature being under development. + * See https://expensify.slack.com/archives/C01GTK53T8Q/p1641921996319400?thread_ts=1641598356.166900&cid=C01GTK53T8Q + * @param {Array} betas + * @returns {Boolean} + */ + +function canUsePolicyRooms(betas) { + return _.contains(betas, CONST.BETAS.POLICY_ROOMS) || _.contains(betas, CONST.BETAS.ALL); +} + export default { canUseChronos, canUseIOU, @@ -86,4 +98,5 @@ export default { canUseInternationalization, canUseIOUSend, canUseWallet, + canUsePolicyRooms, }; diff --git a/src/pages/home/sidebar/SidebarScreen.js b/src/pages/home/sidebar/SidebarScreen.js index 069dbbfb998d..e98ada2bbc02 100755 --- a/src/pages/home/sidebar/SidebarScreen.js +++ b/src/pages/home/sidebar/SidebarScreen.js @@ -160,7 +160,7 @@ class SidebarScreen extends Component { text: this.props.translate('sidebarScreen.newGroup'), onSelected: () => Navigation.navigate(ROUTES.NEW_GROUP), }, - ...(Permissions.canUseDefaultRooms(this.props.betas) ? [ + ...(Permissions.canUsePolicyRooms(this.props.betas) ? [ { icon: Expensicons.Hashtag, text: this.props.translate('sidebarScreen.newRoom'),