Skip to content

Commit ea4db70

Browse files
fix: move custom fields to org settings (#5163)
Co-authored-by: Matthew Elwell <matthew.elwell@flagsmith.com>
1 parent 2206c63 commit ea4db70

6 files changed

Lines changed: 36 additions & 11 deletions

File tree

frontend/common/types/responses.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,6 @@ export type ContentType = {
623623

624624
export type isRequiredFor = {
625625
content_type: number
626-
object_id: number
627626
}
628627

629628
export type MetadataModelField = {

frontend/web/components/metadata/AddMetadataToEntity.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,11 +249,11 @@ const AddMetadataToEntity: FC<AddMetadataToEntityType> = ({
249249
No custom fields configured for {entity}s. Add custom fields in
250250
your{' '}
251251
<a
252-
href={`/project/${projectId}/settings?tab=custom-fields`}
252+
href={`/organisation/${organisationId}/settings?tab=custom-fields`}
253253
target='_blank'
254254
rel='noreferrer'
255255
>
256-
Project Settings
256+
Organisation Settings
257257
</a>
258258
.
259259
</FormGroup>

frontend/web/components/metadata/MetadataPage.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import PlanBasedBanner from 'components/PlanBasedAccess'
1616
const metadataWidth = [200, 150, 150, 90]
1717
type MetadataPageType = {
1818
organisationId: string
19-
projectId: string
2019
}
2120

2221
type MergeMetadata = {
@@ -28,7 +27,7 @@ type MergeMetadata = {
2827
organisation: number
2928
}
3029

31-
const MetadataPage: FC<MetadataPageType> = ({ organisationId, projectId }) => {
30+
const MetadataPage: FC<MetadataPageType> = ({ organisationId }) => {
3231
const { data: metadataFieldList } = useGetMetadataFieldListQuery({
3332
organisation: organisationId,
3433
})

frontend/web/components/modals/CreateMetadataField.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ const CreateMetadataField: FC<CreateMetadataFieldType> = ({
9494
const metadataContentType: ContentType =
9595
supportedContentTypes &&
9696
Utils.getContentType(supportedContentTypes, 'model', MetadataContentType.ORGANISATION)
97-
97+
9898
useEffect(() => {
9999
if (data && !isLoading) {
100100
setName(data.name)

frontend/web/components/pages/OrganisationSettingsPage.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ import AccountProvider from 'common/providers/AccountProvider'
1818
import LicensingTabContent from 'components/LicensingTabContent'
1919
import Utils from 'common/utils/utils'
2020
import AuditLogWebhooks from 'components/modals/AuditLogWebhooks'
21+
import MetadataPage from 'components/metadata/MetadataPage'
2122

2223
const SettingsTab = {
2324
'Billing': 'billing',
25+
'CustomFields': 'custom-fields',
2426
'General': 'general',
2527
'Keys': 'keys',
2628
'Licensing': 'licensing',
@@ -193,6 +195,7 @@ const OrganisationSettingsPage = class extends Component {
193195
SettingsTab.General,
194196
paymentsEnabled && !isAWS ? SettingsTab.Billing : null,
195197
isEnterprise ? SettingsTab.Licensing : null,
198+
SettingsTab.CustomFields,
196199
SettingsTab.Keys,
197200
SettingsTab.Webhooks,
198201
SettingsTab.SAML,
@@ -426,7 +429,13 @@ const OrganisationSettingsPage = class extends Component {
426429
/>
427430
</TabItem>
428431
)}
429-
432+
{displayedTabs.includes(SettingsTab.CustomFields) && (
433+
<TabItem tabLabel='Custom Fields'>
434+
<MetadataPage
435+
organisationId={AccountStore.getOrganisation().id}
436+
/>
437+
</TabItem>
438+
)}
430439
{displayedTabs.includes(SettingsTab.Keys) && (
431440
<TabItem tabLabel='API Keys'>
432441
<AdminAPIKeys organisationId={organisation.id} />

frontend/web/components/pages/ProjectSettingsPage.js

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { Component } from 'react'
22
import ConfirmRemoveProject from 'components/modals/ConfirmRemoveProject'
33
import ConfirmHideFlags from 'components/modals/ConfirmHideFlags'
4-
import MetadataPage from 'components/metadata/MetadataPage'
54
import EditPermissions from 'components/EditPermissions'
65
import Switch from 'components/Switch'
76
import _data from 'common/data/base/_data'
@@ -25,6 +24,7 @@ import Setting from 'components/Setting'
2524
import PlanBasedBanner from 'components/PlanBasedAccess'
2625
import classNames from 'classnames'
2726
import EditHealthProvider from 'components/EditHealthProvider'
27+
import WarningMessage from 'components/WarningMessage'
2828

2929
const ProjectSettingsPage = class extends Component {
3030
static displayName = 'ProjectSettingsPage'
@@ -604,9 +604,27 @@ const ProjectSettingsPage = class extends Component {
604604
/>
605605
</TabItem>
606606
<TabItem tabLabel='Custom Fields'>
607-
<MetadataPage
608-
organisationId={AccountStore.getOrganisation().id}
609-
projectId={this.props.match.params.projectId}
607+
<Row space className='mb-2 mt-4'>
608+
<Row>
609+
<h5>Custom Fields</h5>
610+
</Row>
611+
</Row>
612+
613+
<WarningMessage
614+
warningMessage={
615+
<span>
616+
Custom fields have been moved to {' '}
617+
<a
618+
href={`/organisation/${
619+
AccountStore.getOrganisation()?.id
620+
}/settings?tab=custom-fields`}
621+
rel='noreferrer'
622+
>
623+
Organisation Settings
624+
</a>
625+
.
626+
</span>
627+
}
610628
/>
611629
</TabItem>
612630
{!!ProjectStore.getEnvs()?.length && (

0 commit comments

Comments
 (0)