Skip to content

Commit 558e6c1

Browse files
committed
[frontend] Fix remaining button when fab is not replaced
1 parent e965f3b commit 558e6c1

File tree

29 files changed

+157
-75
lines changed

29 files changed

+157
-75
lines changed

opencti-platform/opencti-front/src/private/components/analyses/external_references/ExternalReference.tsx

+37-38
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ ExternalReferenceComponentProps
4949
<ExternalReferenceHeader
5050
externalReference={externalReference}
5151
PopoverComponent={
52-
<ExternalReferencePopover id={''} handleRemove={undefined} />
52+
<ExternalReferencePopover id={externalReference.id} handleRemove={undefined} />
5353
}
54-
EditComponent={(
54+
EditComponent={isFABReplaced && (
5555
<Security needs={[KNOWLEDGE_KNUPDATE]}>
5656
<ExternalReferenceEdition externalReferenceId={externalReference.id} />
5757
</Security>
@@ -62,42 +62,41 @@ ExternalReferenceComponentProps
6262
spacing={3}
6363
classes={{ container: classes.gridContainer }}
6464
>
65-
{
66-
overviewLayoutCustomization.map(({ key, width }) => {
67-
switch (key) {
68-
case 'basicInformation':
69-
return (
70-
<Grid key={key} item xs={width}>
71-
<ExternalReferenceOverview externalReference={externalReference} />
72-
</Grid>
73-
);
74-
case 'details':
75-
return (
76-
<Grid key={key} item xs={width}>
77-
<ExternalReferenceDetails externalReference={externalReference} />
78-
</Grid>
79-
);
80-
case 'linkedObjects':
81-
return (
82-
<Grid key={key} item xs={width}>
83-
<ExternalReferenceStixCoreObjects
84-
externalReference={externalReference}
85-
/>
86-
</Grid>
87-
);
88-
case 'uploadedFiles':
89-
return (
90-
<Grid key={key} item xs={width}>
91-
<ExternalReferenceFileImportViewer
92-
externalReference={externalReference}
93-
connectorsImport={connectorsImport}
94-
/>
95-
</Grid>
96-
);
97-
default:
98-
return null;
99-
}
100-
})
65+
{overviewLayoutCustomization.map(({ key, width }) => {
66+
switch (key) {
67+
case 'basicInformation':
68+
return (
69+
<Grid key={key} item xs={width}>
70+
<ExternalReferenceOverview externalReference={externalReference} />
71+
</Grid>
72+
);
73+
case 'details':
74+
return (
75+
<Grid key={key} item xs={width}>
76+
<ExternalReferenceDetails externalReference={externalReference} />
77+
</Grid>
78+
);
79+
case 'linkedObjects':
80+
return (
81+
<Grid key={key} item xs={width}>
82+
<ExternalReferenceStixCoreObjects
83+
externalReference={externalReference}
84+
/>
85+
</Grid>
86+
);
87+
case 'uploadedFiles':
88+
return (
89+
<Grid key={key} item xs={width}>
90+
<ExternalReferenceFileImportViewer
91+
externalReference={externalReference}
92+
connectorsImport={connectorsImport}
93+
/>
94+
</Grid>
95+
);
96+
default:
97+
return null;
98+
}
99+
})
101100
}
102101
</Grid>
103102
{!isFABReplaced && (

opencti-platform/opencti-front/src/private/components/analyses/external_references/ExternalReferenceHeader.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const useStyles = makeStyles(() => ({
2222
interface ExternalReferenceHeaderComponentProps {
2323
externalReference: ExternalReferenceHeader_externalReference$data;
2424
PopoverComponent: ReactElement<{ id: string }>;
25-
EditComponent?: React.JSX.Element;
25+
EditComponent?: React.JSX.Element | boolean;
2626
}
2727

2828
const ExternalReferenceHeaderComponent: FunctionComponent<ExternalReferenceHeaderComponentProps> = ({ externalReference, PopoverComponent, EditComponent }) => {

opencti-platform/opencti-front/src/private/components/analyses/groupings/Grouping.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ export default createFragmentContainer(GroupingComponent, {
141141
}
142142
}
143143
workflowEnabled
144+
currentUserAccessRight
144145
...GroupingDetails_grouping
145146
...ContainerHeader_container
146147
}

opencti-platform/opencti-front/src/private/components/analyses/groupings/GroupingEditionContainer.jsx

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ const GroupingEditionContainer = (props) => {
1313

1414
const { handleClose, grouping, open, controlledDial } = props;
1515
const { editContext } = grouping;
16-
1716
return (
1817
<Drawer
1918
title={t_i18n('Update a grouping')}

opencti-platform/opencti-front/src/private/components/analyses/groupings/Root.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import useGranted, { KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE, KNOWLEDGE_KNUPDATE }
3030
import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
3131
import GroupingEdition from './GroupingEdition';
3232
import { useGetCurrentUserAccessRight } from '../../../../utils/authorizedMembers';
33+
import useHelper from '../../../../utils/hooks/useHelper';
3334

3435
const subscription = graphql`
3536
subscription RootGroupingSubscription($id: ID!) {
@@ -89,6 +90,8 @@ const RootGrouping = () => {
8990
[groupingId],
9091
);
9192
const location = useLocation();
93+
const { isFeatureEnable } = useHelper();
94+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
9295
const enableReferences = useIsEnforceReference('Grouping') && !useGranted([KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE]);
9396
const { t_i18n } = useFormatter();
9497
useSubscription(subConfig);
@@ -115,8 +118,10 @@ const RootGrouping = () => {
115118
/>
116119
<ContainerHeader
117120
container={grouping}
118-
PopoverComponent={<GroupingPopover />}
119-
EditComponent={(
121+
PopoverComponent={
122+
<GroupingPopover id={groupingId} />
123+
}
124+
EditComponent={isFABReplaced && (
120125
<Security needs={[KNOWLEDGE_KNUPDATE]} hasAccess={currentAccessRight.canEdit}>
121126
<GroupingEdition groupingId={grouping.id} />
122127
</Security>

opencti-platform/opencti-front/src/private/components/analyses/malware_analyses/Root.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import Breadcrumbs from '../../../../components/Breadcrumbs';
2929
import { getMainRepresentative } from '../../../../utils/defaultRepresentatives';
3030
import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
3131
import MalwareAnalysisEdition from './MalwareAnalysisEdition';
32+
import useHelper from '../../../../utils/hooks/useHelper';
3233

3334
const subscription = graphql`
3435
subscription RootMalwareAnalysisSubscription($id: ID!) {
@@ -79,6 +80,8 @@ const RootMalwareAnalysis = () => {
7980
[malwareAnalysisId],
8081
);
8182
const location = useLocation();
83+
const { isFeatureEnable } = useHelper();
84+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
8285
const { t_i18n } = useFormatter();
8386
useSubscription(subConfig);
8487
const link = `/dashboard/analyses/malware_analyses/${malwareAnalysisId}/knowledge`;
@@ -106,7 +109,7 @@ const RootMalwareAnalysis = () => {
106109
PopoverComponent={
107110
<MalwareAnalysisPopover id={malwareAnalysisId} />
108111
}
109-
EditComponent={(
112+
EditComponent={isFABReplaced && (
110113
<Security needs={[KNOWLEDGE_KNUPDATE]}>
111114
<MalwareAnalysisEdition malwareAnalysisId={malwareAnalysis.id} />
112115
</Security>

opencti-platform/opencti-front/src/private/components/arsenal/vulnerabilities/Root.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -139,10 +139,10 @@ const RootVulnerability = ({ queryRef, vulnerabilityId }: RootVulnerabilityProps
139139
<StixDomainObjectHeader
140140
entityType="Vulnerability"
141141
stixDomainObject={vulnerability}
142-
PopoverComponent={<VulnerabilityPopover />}
142+
PopoverComponent={<VulnerabilityPopover id={vulnerabilityId} />}
143143
EditComponent={isFABReplaced && (
144144
<Security needs={[KNOWLEDGE_KNUPDATE]}>
145-
<VulnerabilityEdition vulnerabilityId={vulnerability.id} />
145+
<VulnerabilityEdition vulnerabilityId={vulnerabilityId} />
146146
</Security>
147147
)}
148148
enableQuickSubscription={true}

opencti-platform/opencti-front/src/private/components/cases/case_incidents/Root.tsx

+5-2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import useGranted, { KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE, KNOWLEDGE_KNUPDATE }
3232
import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
3333
import CaseIncidentEdition from './CaseIncidentEdition';
3434
import { useGetCurrentUserAccessRight } from '../../../../utils/authorizedMembers';
35+
import useHelper from '../../../../utils/hooks/useHelper';
3536

3637
const subscription = graphql`
3738
subscription RootIncidentCaseSubscription($id: ID!) {
@@ -89,6 +90,8 @@ const RootCaseIncidentComponent = ({ queryRef, caseId }) => {
8990
[caseId],
9091
);
9192
const location = useLocation();
93+
const { isFeatureEnable } = useHelper();
94+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
9295
const enableReferences = useIsEnforceReference('Case-Incident') && !useGranted([KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE]);
9396
const { t_i18n } = useFormatter();
9497
useSubscription(subConfig);
@@ -116,11 +119,11 @@ const RootCaseIncidentComponent = ({ queryRef, caseId }) => {
116119
<ContainerHeader
117120
container={caseData}
118121
PopoverComponent={<CaseIncidentPopover id={caseData.id} />}
119-
EditComponent={
122+
EditComponent={isFABReplaced && (
120123
<Security needs={[KNOWLEDGE_KNUPDATE]} hasAccess={currentAccessRight.canEdit}>
121124
<CaseIncidentEdition caseId={caseData.id} />
122125
</Security>
123-
}
126+
)}
124127
enableQuickSubscription={true}
125128
enableAskAi={true}
126129
redirectToContent={true}

opencti-platform/opencti-front/src/private/components/cases/case_rfis/Root.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import useGranted, { KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE, KNOWLEDGE_KNUPDATE }
3131
import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
3232
import CaseRfiEdition from './CaseRfiEdition';
3333
import { useGetCurrentUserAccessRight } from '../../../../utils/authorizedMembers';
34+
import useHelper from '../../../../utils/hooks/useHelper';
3435

3536
const subscription = graphql`
3637
subscription RootCaseRfiCaseSubscription($id: ID!) {
@@ -86,6 +87,8 @@ const RootCaseRfiComponent = ({ queryRef, caseId }) => {
8687
[caseId],
8788
);
8889
const location = useLocation();
90+
const { isFeatureEnable } = useHelper();
91+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
8992
const enableReferences = useIsEnforceReference('Case-Rfi') && !useGranted([KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE]);
9093
const { t_i18n } = useFormatter();
9194
useSubscription(subConfig);
@@ -111,9 +114,11 @@ const RootCaseRfiComponent = ({ queryRef, caseId }) => {
111114
<ContainerHeader
112115
container={caseData}
113116
PopoverComponent={<CaseRfiPopover id={caseData.id} />}
114-
EditComponent={<Security needs={[KNOWLEDGE_KNUPDATE]} hasAccess={currentAccessRight.canEdit}>
117+
EditComponent={isFABReplaced && (
118+
<Security needs={[KNOWLEDGE_KNUPDATE]} hasAccess={currentAccessRight.canEdit}>
115119
<CaseRfiEdition caseId={caseData.id} />
116-
</Security>}
120+
</Security>
121+
)}
117122
enableQuickSubscription={true}
118123
enableAskAi={true}
119124
redirectToContent={true}

opencti-platform/opencti-front/src/private/components/cases/case_rfts/Root.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import useGranted, { KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE, KNOWLEDGE_KNUPDATE }
3030
import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
3131
import CaseRftEdition from './CaseRftEdition';
3232
import { useGetCurrentUserAccessRight } from '../../../../utils/authorizedMembers';
33+
import useHelper from '../../../../utils/hooks/useHelper';
3334

3435
const subscription = graphql`
3536
subscription RootCaseRftCaseSubscription($id: ID!) {
@@ -85,6 +86,8 @@ const RootCaseRftComponent = ({ queryRef, caseId }) => {
8586
[caseId],
8687
);
8788
const location = useLocation();
89+
const { isFeatureEnable } = useHelper();
90+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
8891
const enableReferences = useIsEnforceReference('Case-Rft') && !useGranted([KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE]);
8992
const { t_i18n } = useFormatter();
9093
useSubscription(subConfig);
@@ -110,9 +113,11 @@ const RootCaseRftComponent = ({ queryRef, caseId }) => {
110113
<ContainerHeader
111114
container={caseData}
112115
PopoverComponent={<CaseRftPopover id={caseData.id} />}
113-
EditComponent={<Security needs={[KNOWLEDGE_KNUPDATE]} hasAccess={currentAccessRight.canEdit}>
116+
EditComponent={isFABReplaced && (
117+
<Security needs={[KNOWLEDGE_KNUPDATE]} hasAccess={currentAccessRight.canEdit}>
114118
<CaseRftEdition caseId={caseData.id} />
115-
</Security>}
119+
</Security>
120+
)}
116121
enableQuickSubscription={true}
117122
enableAskAi={true}
118123
redirectToContent={true}

opencti-platform/opencti-front/src/private/components/cases/feedbacks/Root.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import useGranted, { KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE } from '../../../../ut
3030
import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
3131
import FeedbackEdition from './FeedbackEdition';
3232
import { useGetCurrentUserAccessRight } from '../../../../utils/authorizedMembers';
33+
import useHelper from '../../../../utils/hooks/useHelper';
3334

3435
const subscription = graphql`
3536
subscription RootFeedbackSubscription($id: ID!) {
@@ -91,6 +92,8 @@ const RootFeedbackComponent = ({ queryRef, caseId }) => {
9192
[caseId],
9293
);
9394
const location = useLocation();
95+
const { isFeatureEnable } = useHelper();
96+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
9497
const enableReferences = useIsEnforceReference('Feedback') && !useGranted([KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE]);
9598
const { t_i18n } = useFormatter();
9699
useSubscription(subConfig);
@@ -116,9 +119,11 @@ const RootFeedbackComponent = ({ queryRef, caseId }) => {
116119
<ContainerHeader
117120
container={feedbackData}
118121
PopoverComponent={<FeedbackPopover id={feedbackData.id} />}
119-
EditComponent={<Security needs={[KNOWLEDGE_KNUPDATE]} hasAccess={canEdit}>
122+
EditComponent={isFABReplaced && (
123+
<Security needs={[KNOWLEDGE_KNUPDATE]} hasAccess={canEdit}>
120124
<FeedbackEdition feedbackId={feedbackData.id} />
121-
</Security>}
125+
</Security>
126+
)}
122127
enableSuggestions={false}
123128
disableSharing={true}
124129
enableQuickSubscription

opencti-platform/opencti-front/src/private/components/cases/tasks/Root.tsx

+8-3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import { useIsEnforceReference } from '../../../../utils/hooks/useEntitySettings
2828
import useGranted, { KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE } from '../../../../utils/hooks/useGranted';
2929
import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
3030
import TaskEdition from './TaskEdition';
31+
import useHelper from '../../../../utils/hooks/useHelper';
3132

3233
const subscription = graphql`
3334
subscription RootTaskSubscription($id: ID!) {
@@ -75,6 +76,8 @@ const RootTaskComponent = ({ queryRef, taskId }) => {
7576
[taskId],
7677
);
7778
const location = useLocation();
79+
const { isFeatureEnable } = useHelper();
80+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
7881
const enableReferences = useIsEnforceReference('Task') && !useGranted([KNOWLEDGE_KNUPDATE_KNBYPASSREFERENCE]);
7982
const { t_i18n } = useFormatter();
8083
useSubscription(subConfig);
@@ -97,9 +100,11 @@ const RootTaskComponent = ({ queryRef, taskId }) => {
97100
<ContainerHeader
98101
container={data}
99102
PopoverComponent={<TasksPopover id={data.id} />}
100-
EditComponent={<Security needs={[KNOWLEDGE_KNUPDATE]}>
101-
<TaskEdition caseId={data.id} />
102-
</Security>}
103+
EditComponent={isFABReplaced && (
104+
<Security needs={[KNOWLEDGE_KNUPDATE]}>
105+
<TaskEdition caseId={data.id} />
106+
</Security>
107+
)}
103108
enableSuggestions={false}
104109
redirectToContent={true}
105110
disableAuthorizedMembers={true}

opencti-platform/opencti-front/src/private/components/entities/events/Root.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
2727
import Security from '../../../../utils/Security';
2828
import { KNOWLEDGE_KNUPDATE } from '../../../../utils/hooks/useGranted';
2929
import EventEdition from './EventEdition';
30+
import useHelper from '../../../../utils/hooks/useHelper';
3031

3132
const subscription = graphql`
3233
subscription RootEventsSubscription($id: ID!) {
@@ -83,6 +84,8 @@ const RootEvent = ({ eventId, queryRef }: RootEventProps) => {
8384
}), [eventId]);
8485

8586
const location = useLocation();
87+
const { isFeatureEnable } = useHelper();
88+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
8689
const { t_i18n } = useFormatter();
8790
useSubscription<RootEventsSubscription>(subConfig);
8891

@@ -135,7 +138,7 @@ const RootEvent = ({ eventId, queryRef }: RootEventProps) => {
135138
stixDomainObject={event}
136139
enableQuickSubscription={true}
137140
PopoverComponent={<EventPopover />}
138-
EditComponent={(
141+
EditComponent={isFABReplaced && (
139142
<Security needs={[KNOWLEDGE_KNUPDATE]}>
140143
<EventEdition eventId={event.id} />
141144
</Security>

opencti-platform/opencti-front/src/private/components/entities/individuals/Root.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { getCurrentTab, getPaddingRight } from '../../../../utils/utils';
2929
import IndividualEdition from './IndividualEdition';
3030
import Security from '../../../../utils/Security';
3131
import { KNOWLEDGE_KNUPDATE } from '../../../../utils/hooks/useGranted';
32+
import useHelper from '../../../../utils/hooks/useHelper';
3233

3334
const subscription = graphql`
3435
subscription RootIndividualsSubscription($id: ID!) {
@@ -87,6 +88,9 @@ const RootIndividual = ({ individualId, queryRef }: RootIndividualProps) => {
8788
variables: { id: individualId },
8889
}), [individualId]);
8990
const location = useLocation();
91+
const { isFeatureEnable } = useHelper();
92+
const isFABReplaced = isFeatureEnable('FAB_REPLACEMENT');
93+
9094
const navigate = useNavigate();
9195
const LOCAL_STORAGE_KEY = `individual-${individualId}`;
9296
const params = buildViewParamsFromUrlAndStorage(
@@ -169,7 +173,7 @@ const RootIndividual = ({ individualId, queryRef }: RootIndividualProps) => {
169173
isOpenctiAlias={true}
170174
enableQuickSubscription={true}
171175
PopoverComponent={<IndividualPopover />}
172-
EditComponent={!individual.isUser && (
176+
EditComponent={!individual.isUser && isFABReplaced && (
173177
<Security needs={[KNOWLEDGE_KNUPDATE]}>
174178
<IndividualEdition individualId={individual.id} />
175179
</Security>

0 commit comments

Comments
 (0)