From dc71d3e063f02d431d86e5d18ae8a94d98c30e57 Mon Sep 17 00:00:00 2001 From: Jonas Braathen <jonas.braathen@usit.uio.no> Date: Fri, 4 Feb 2022 09:34:50 +0100 Subject: [PATCH] Hide 'available in search' checkbox behind a feature flag --- frontend/src/appConfig.ts | 4 ++ .../sponsor/guest/newGuestRole/index.tsx | 38 ++++++++++--------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/frontend/src/appConfig.ts b/frontend/src/appConfig.ts index f0ee237e..9b9a5423 100644 --- a/frontend/src/appConfig.ts +++ b/frontend/src/appConfig.ts @@ -27,6 +27,10 @@ export const appStagingWarning: boolean = export const guestConsentStepEnabled: boolean = env.REACT_APP_GUEST_CONSENT_STEP_ENABLED === 'true' +/* Should the 'available in search' field on roles be available for use? */ +export const availableInSearchEnabled: boolean = + env.REACT_APP_AVAILABLE_IN_SEARCH_ENABLED === 'true' + /* Footer content */ export const responsibleOrganization: string = env.REACT_APP_RESPONSIBLE_ORGANIZATION as string diff --git a/frontend/src/routes/sponsor/guest/newGuestRole/index.tsx b/frontend/src/routes/sponsor/guest/newGuestRole/index.tsx index ab141683..bdaa366c 100644 --- a/frontend/src/routes/sponsor/guest/newGuestRole/index.tsx +++ b/frontend/src/routes/sponsor/guest/newGuestRole/index.tsx @@ -1,5 +1,10 @@ -import { DatePicker } from '@mui/lab' +import { useState } from 'react' +import { Controller, useForm } from 'react-hook-form' +import { useTranslation } from 'react-i18next' +import { Link, useHistory, useParams } from 'react-router-dom' +import { format } from 'date-fns' import { addDays } from 'date-fns/fp' +import { DatePicker } from '@mui/lab' import { Checkbox, Button, @@ -15,17 +20,13 @@ import { Typography, } from '@mui/material' import Page from 'components/page' -import { format } from 'date-fns' +import { Guest } from 'interfaces' import useOus, { enSort, nbSort, OuData } from 'hooks/useOus' import useRoleTypes, { RoleTypeData } from 'hooks/useRoleTypes' -import { Guest } from 'interfaces' -import { useState } from 'react' -import { Controller, useForm } from 'react-hook-form' -import { useTranslation } from 'react-i18next' -import { Link, useHistory, useParams } from 'react-router-dom' import SponsorInfoButtons from 'routes/components/sponsorInfoButtons' import { submitJsonOpts } from 'utils' import { useFeatureContext } from 'contexts/featureContext' +import { availableInSearchEnabled } from 'appConfig' type AddRoleFormData = { orgunit: number @@ -72,7 +73,7 @@ const postRole = async (formData: AddRoleFormData, pid: string) => { if (formData.comments) { payload.comments = formData.comments } - if (formData.available_in_search) { + if (availableInSearchEnabled && formData.available_in_search) { payload.available_in_search = formData.available_in_search } @@ -299,16 +300,17 @@ function NewGuestRole({ guest, reloadGuestInfo }: NewGuestRoleProps) { {...register('comments')} /> )} - - <FormControlLabel - control={ - <Checkbox - id="available_in_search" - {...register('available_in_search')} - /> - } - label={t('input.searchable')} - /> + {availableInSearchEnabled && ( + <FormControlLabel + control={ + <Checkbox + id="available_in_search" + {...register('available_in_search')} + /> + } + label={t('input.searchable')} + /> + )} <Button variant="contained" color="secondary" type="submit"> {t('button.save')} </Button> -- GitLab