Skip to content

Commit

Permalink
CVEs without errata toggle behind RBAC permission
Browse files Browse the repository at this point in the history
CVEs without errata toggle behind RBAC permission

Update snapshots
  • Loading branch information
leSamo committed Jul 31, 2023
1 parent ceaf780 commit 11f7590
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 59 deletions.
22 changes: 15 additions & 7 deletions src/Components/SmartComponents/CVEs/CVEs.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,13 @@ export const CVEs = ({ rbac }) => {
const [CveBusinessRiskModal, setBusinessRiskModal] = useState(() => () => null);
const [isFirstLoad, setFirstLoad] = useState(true);

const [[canEditStatusOrBusinessRisk, canEditPairStatus, canExport, canReadVulnerabilityResults], isRbacLoading] = rbac;
const [[
canEditStatusOrBusinessRisk,
canEditPairStatus,
canExport,
canReadVulnerabilityResults,
canToggleCvesWithoutErrata
], isRbacLoading] = rbac;

const cveList = useSelector(
({ CVEsStore }) => CVEsStore.cveList
Expand Down Expand Up @@ -132,7 +138,7 @@ export const CVEs = ({ rbac }) => {

if (!cves.errors) {
return (
isRbacLoading ? <Spinner centered/> : canReadVulnerabilityResults ?
isRbacLoading ? <Spinner centered /> : canReadVulnerabilityResults ?
(
<CVETableContext.Provider
value={{
Expand All @@ -152,16 +158,17 @@ export const CVEs = ({ rbac }) => {
}
}}
>
<CveBusinessRiskModal/>
<CveStatusModal/>
<CveBusinessRiskModal />
<CveStatusModal />

{ ColumnManagementModal }
{ColumnManagementModal}

<Stack>
<StackItem>
<CVEsTableToolbar
canEditStatusOrBusinessRisk={canEditStatusOrBusinessRisk}
canExport={canExport}
canToggleCvesWithoutErrata={canToggleCvesWithoutErrata}
/>
</StackItem>
<StackItem>
Expand All @@ -175,7 +182,7 @@ export const CVEs = ({ rbac }) => {
) : <NotAuthorized serviceName={SERVICE_NAME} />
);
} else {
return <ErrorHandler code={cves.errors.status}/>;
return <ErrorHandler code={cves.errors.status} />;
}
};

Expand All @@ -188,7 +195,8 @@ const CVEsWithRbac = () => {
PERMISSIONS.setCveStatusAndBusinessRisk,
PERMISSIONS.setPairStatus,
PERMISSIONS.basicReporting,
PERMISSIONS.readVulnerabilityResults
PERMISSIONS.readVulnerabilityResults,
PERMISSIONS.toggleCvesWithoutErrata
]);

return <CVEs rbac={rbac} />;
Expand Down
26 changes: 14 additions & 12 deletions src/Components/SmartComponents/CVEs/CVEsTableToolbar.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import {
import { fetchCvesIds } from '../../../Store/Actions/Actions';
import { setCvesWithoutErrata } from '../../../Helpers/APIHelper';

const CVEsTableToolbarWithContext = ({ context, canEditStatusOrBusinessRisk, canExport, intl }) => {
const CVEsTableToolbarWithContext = ({ context, canEditStatusOrBusinessRisk, canExport, canToggleCvesWithoutErrata, intl }) => {
const [exportPDF, setExportPDF] = useState(false);

const onExpandAllClick = () => {
Expand Down Expand Up @@ -94,16 +94,17 @@ const CVEsTableToolbarWithContext = ({ context, canEditStatusOrBusinessRisk, can
label: intl.formatMessage(messages.columnManagementModalTitle),
onClick: () => methods.setColumnManagementModalOpen(true)
},
cves?.meta?.cves_without_errata ?
{
label: intl.formatMessage(messages.hideCvesWithoutAdvisories),
onClick: () => setCvesWithoutErrata(false).then(() => methods.apply({ page: 1 }))
} :
{
label: intl.formatMessage(messages.showCvesWithoutAdvisories),
onClick: () => setCvesWithoutErrata(true).then(() => methods.apply({ page: 1 }))
}

...canToggleCvesWithoutErrata ? [(
cves?.meta?.cves_without_errata ?
{
label: intl.formatMessage(messages.hideCvesWithoutAdvisories),
onClick: () => setCvesWithoutErrata(false).then(() => methods.apply({ page: 1 }))
} :
{
label: intl.formatMessage(messages.showCvesWithoutAdvisories),
onClick: () => setCvesWithoutErrata(true).then(() => methods.apply({ page: 1 }))
}
)] : []
];

return (
Expand Down Expand Up @@ -183,7 +184,8 @@ CVEsTableToolbarWithContext.propTypes = {
context: propTypes.object,
intl: propTypes.object,
canEditStatusOrBusinessRisk: propTypes.bool,
canExport: propTypes.bool
canExport: propTypes.bool,
canToggleCvesWithoutErrata: propTypes.bool
};

CVEsTableToolbarWithContext.defaultProps = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -546,10 +546,6 @@ exports[`CVEs Should render without props 1`] = `
"label": "Manage columns",
"onClick": [Function],
},
{
"label": "Show CVEs without Advisories",
"onClick": [Function],
},
],
"dropdownProps": {
"ouiaId": "toolbar-actions",
Expand Down Expand Up @@ -2307,10 +2303,6 @@ exports[`CVEs Should render without props 1`] = `
"label": "Manage columns",
"onClick": [Function],
},
{
"label": "Show CVEs without Advisories",
"onClick": [Function],
},
]
}
dropdownProps={
Expand Down Expand Up @@ -2685,12 +2677,6 @@ exports[`CVEs Should render without props 1`] = `
>
Manage columns
</DropdownItem>,
<DropdownItem
component="button"
onClick={[Function]}
>
Show CVEs without Advisories
</DropdownItem>,
]
}
isOpen={false}
Expand Down Expand Up @@ -2729,12 +2715,6 @@ exports[`CVEs Should render without props 1`] = `
>
Manage columns
</DropdownItem>,
<DropdownItem
component="button"
onClick={[Function]}
>
Show CVEs without Advisories
</DropdownItem>,
]
}
isFlipEnabled={true}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,6 @@ exports[`CVEsTableToolbar Should render without errors 1`] = `
"label": "Manage columns",
"onClick": [Function],
},
{
"label": "Show CVEs without Advisories",
"onClick": [Function],
},
],
"dropdownProps": {
"ouiaId": "toolbar-actions",
Expand Down Expand Up @@ -1983,10 +1979,6 @@ exports[`CVEsTableToolbar Should render without errors 1`] = `
"label": "Manage columns",
"onClick": [Function],
},
{
"label": "Show CVEs without Advisories",
"onClick": [Function],
},
]
}
dropdownProps={
Expand Down Expand Up @@ -2361,12 +2353,6 @@ exports[`CVEsTableToolbar Should render without errors 1`] = `
>
Manage columns
</DropdownItem>,
<DropdownItem
component="button"
onClick={[Function]}
>
Show CVEs without Advisories
</DropdownItem>,
]
}
isOpen={false}
Expand Down Expand Up @@ -2405,12 +2391,6 @@ exports[`CVEsTableToolbar Should render without errors 1`] = `
>
Manage columns
</DropdownItem>,
<DropdownItem
component="button"
onClick={[Function]}
>
Show CVEs without Advisories
</DropdownItem>,
]
}
isFlipEnabled={true}
Expand Down
1 change: 1 addition & 0 deletions src/Helpers/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -932,5 +932,6 @@ export const PERMISSIONS = {
readExcluded: 'vulnerability:system.opt_out:read',
setExcludedIncluded: 'vulnerability:system.opt_out:write',
readVulnerabilityResults: 'vulnerability:vulnerability_results:read',
toggleCvesWithoutErrata: 'vulnerability:toggle_cves_without_errata:write',
readHosts: 'inventory:hosts:read'
};

0 comments on commit 11f7590

Please sign in to comment.