From fae980d38337ef2b23bcfd0e042ea3babff2743c Mon Sep 17 00:00:00 2001 From: Esco Date: Wed, 15 Jan 2025 15:24:49 +0100 Subject: [PATCH 1/8] feat: added View in InTune for devices --- src/pages/endpoint/reports/devices/index.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/pages/endpoint/reports/devices/index.js b/src/pages/endpoint/reports/devices/index.js index 4bce06237a4c..4ce9ebcbc46a 100644 --- a/src/pages/endpoint/reports/devices/index.js +++ b/src/pages/endpoint/reports/devices/index.js @@ -1,8 +1,11 @@ import { Layout as DashboardLayout } from "/src/layouts/index.js"; import { CippTablePage } from "/src/components/CippComponents/CippTablePage.jsx"; +import { useSettings } from "/src/hooks/use-settings"; +import { EyeIcon } from "@heroicons/react/24/outline"; const Page = () => { const pageTitle = "Devices"; + const tenantFilter = useSettings().currentTenant; const actions = [ { @@ -96,6 +99,15 @@ const Page = () => { confirmText: "Are you sure you want to update the Windows Defender signatures for this device?", }, + { + label: "View in InTune", + link: `https://intune.microsoft.com/${tenantFilter}/#view/Microsoft_Intune_Devices/DeviceSettingsMenuBlade/~/overview/mdmDeviceId/[id]`, + color: "info", + icon: , + target: "_blank", + multiPost: false, + external: true, + }, ]; const offCanvas = { From 5e4873cf973a298e0383e09e358604f4739fd22f Mon Sep 17 00:00:00 2001 From: Esco Date: Wed, 22 Jan 2025 14:48:36 +0100 Subject: [PATCH 2/8] fix: readded filters to risk detections --- .../identity/reports/risk-detections/index.js | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/src/pages/identity/reports/risk-detections/index.js b/src/pages/identity/reports/risk-detections/index.js index 4847fef513db..f6fe5e6b07da 100644 --- a/src/pages/identity/reports/risk-detections/index.js +++ b/src/pages/identity/reports/risk-detections/index.js @@ -51,18 +51,28 @@ const Page = () => { "activity", ]; - // Note to Developer: Add necessary filter logic here - // Filters previously defined: - /* - filterlist: [ - { filterName: 'State: atRisk', filter: 'Complex: riskState eq atRisk' }, - { filterName: 'State: confirmedCompromised', filter: 'Complex: riskState eq confirmedCompromised' }, - { filterName: 'State: confirmedSafe', filter: 'Complex: riskState eq confirmedSafe' }, - { filterName: 'State: dismissed', filter: 'Complex: riskState eq dismissed' }, - { filterName: 'State: remediated', filter: 'Complex: riskState eq remediated' }, - { filterName: 'State: unknownFutureValue', filter: 'Complex: riskState eq unknownFutureValue' }, - ] - */ + const filterList = [ + { + filterName: "Users at Risk", + value: [{ id: "riskState", value: "atRisk" }], + type: "column", + }, + { + filterName: "Confirmed Compromised", + value: [{ id: "riskState", value: "confirmedCompromised" }], + type: "column", + }, + { + filterName: "Confirmed Safe", + value: [{ id: "riskState", value: "confirmedSafe" }], + type: "column", + }, + { + filterName: "Remediated", + value: [{ id: "riskState", value: "remediated" }], + type: "column", + }, + ]; return ( { actions={actions} offCanvas={offCanvas} simpleColumns={simpleColumns} + filters={filterList} /> ); }; From 935d743b3d212623e9638188863def54b5c1837e Mon Sep 17 00:00:00 2001 From: Esco Date: Wed, 22 Jan 2025 14:48:45 +0100 Subject: [PATCH 3/8] fix: readded filters to risky users --- .../administration/risky-users/index.js | 55 ++++++++++++------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/src/pages/identity/administration/risky-users/index.js b/src/pages/identity/administration/risky-users/index.js index b419366b0d83..759117480d8b 100644 --- a/src/pages/identity/administration/risky-users/index.js +++ b/src/pages/identity/administration/risky-users/index.js @@ -6,7 +6,6 @@ import { MagnifyingGlassIcon } from "@heroicons/react/24/outline"; const Page = () => { const pageTitle = "Risky Users"; - // Actions from the source file const actions = [ { label: "Dismiss Risk", @@ -27,20 +26,46 @@ const Page = () => { }, ]; - // OffCanvas details based on the source file const offCanvas = { extendedInfoFields: [ - "id", // User ID - "userDisplayName", // Display Name - "userPrincipalName", // User Principal - "riskLastUpdatedDateTime", // Risk Last Updated - "riskLevel", // Risk Level - "riskState", // Risk State - "riskDetail", // Risk Detail + "id", + "userDisplayName", + "userPrincipalName", + "riskLastUpdatedDateTime", + "riskLevel", + "riskState", + "riskDetail", ], actions: actions, }; + const simpleColumns = [ + "userDisplayName", + "userPrincipalName", + "riskLevel", + "riskState", + "riskDetail", + "riskLastUpdatedDateTime", + ]; + + const filterList = [ + { + filterName: "Users at Risk", + value: [{ id: "riskState", value: "atRisk" }], + type: "column", + }, + { + filterName: "Dismissed Users", + value: [{ id: "riskState", value: "dismissed" }], + type: "column", + }, + { + filterName: "Remediated Users", + value: [{ id: "riskState", value: "remediated" }], + type: "column", + }, + ]; + return ( { apiData={{ Endpoint: "identityProtection/riskyUsers", manualPagination: true, - $select: - "id,userDisplayName,userPrincipalName,riskLevel,riskState,riskDetail,riskLastUpdatedDateTime", $count: true, $orderby: "riskLastUpdatedDateTime desc", $top: 500, @@ -57,14 +80,8 @@ const Page = () => { apiDataKey="Results" actions={actions} offCanvas={offCanvas} - simpleColumns={[ - "userDisplayName", - "userPrincipalName", - "riskLevel", - "riskState", - "riskDetail", - "riskLastUpdatedDateTime", - ]} + simpleColumns={simpleColumns} + filters={filterList} /> ); }; From 76f18e2bcfa6294b3f70803e869745541532fb78 Mon Sep 17 00:00:00 2001 From: Esco Date: Wed, 22 Jan 2025 14:49:03 +0100 Subject: [PATCH 4/8] fix: readded filters to quarantine management --- src/pages/email/administration/quarantine/index.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/pages/email/administration/quarantine/index.js b/src/pages/email/administration/quarantine/index.js index eb24a4f73ccb..e784d8888a0e 100644 --- a/src/pages/email/administration/quarantine/index.js +++ b/src/pages/email/administration/quarantine/index.js @@ -133,6 +133,19 @@ const Page = () => { actions: actions, }; + const filterList = [ + { + filterName: "Not Released", + value: [{ id: "ReleaseStatus", value: "NOTRELEASED" }], + type: "column", + }, + { + filterName: "Released", + value: [{ id: "ReleaseStatus", value: "RELEASED" }], + type: "column", + }, + ]; + return ( <> { actions={actions} offCanvas={offCanvas} simpleColumns={simpleColumns} + filters={filterList} /> setDialogOpen(false)} maxWidth="lg" fullWidth> From b28de217ea07b517825c2a98e56d1d4c8a112846 Mon Sep 17 00:00:00 2001 From: Esco Date: Wed, 22 Jan 2025 14:49:16 +0100 Subject: [PATCH 5/8] fix: readded filters to mailboxes --- .../email/administration/mailboxes/index.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/pages/email/administration/mailboxes/index.js b/src/pages/email/administration/mailboxes/index.js index 8ef21abfa990..b03919b9d752 100644 --- a/src/pages/email/administration/mailboxes/index.js +++ b/src/pages/email/administration/mailboxes/index.js @@ -83,6 +83,29 @@ const Page = () => { actions: actions, }; + const filterList = [ + { + filterName: "View User Mailboxes", + value: [{ id: "recipientTypeDetails", value: "UserMailbox" }], + type: "column", + }, + { + filterName: "View Shared Mailboxes", + value: [{ id: "recipientTypeDetails", value: "SharedMailbox" }], + type: "column", + }, + { + filterName: "View Room Mailboxes", + value: [{ id: "recipientTypeDetails", value: "RoomMailbox" }], + type: "column", + }, + { + filterName: "View Equipment Mailboxes", + value: [{ id: "recipientTypeDetails", value: "EquipmentMailbox" }], + type: "column", + }, + ]; + // Simplified columns for the table const simpleColumns = [ "UPN", // User Principal Name @@ -100,6 +123,7 @@ const Page = () => { actions={actions} offCanvas={offCanvas} simpleColumns={simpleColumns} + filters={filterList} cardButton={ <>