From 924446f1e3ad3048a6392e0349ef163f2fb4acb9 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Thu, 6 Jun 2024 17:14:07 -0400 Subject: [PATCH 1/9] Update TableModalButton.jsx --- src/components/buttons/TableModalButton.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/buttons/TableModalButton.jsx b/src/components/buttons/TableModalButton.jsx index 67d2b22193da..f18dee1afe9f 100644 --- a/src/components/buttons/TableModalButton.jsx +++ b/src/components/buttons/TableModalButton.jsx @@ -50,4 +50,5 @@ TableModalButton.propTypes = { title: PropTypes.string, className: PropTypes.string, countOnly: PropTypes.bool, + icon: PropTypes.string, } From 0dc8fda3a73f7a2ef3236b7f552e56f51fde23de Mon Sep 17 00:00:00 2001 From: Esco Date: Mon, 10 Jun 2024 09:59:28 +0200 Subject: [PATCH 2/9] Standard typo quickfix --- src/data/standards.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/standards.json b/src/data/standards.json index 28c9f0cdecab..7f302b59fdc7 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -1327,7 +1327,7 @@ }, { "type": "boolean", - "label": "Enable Internal Sender Admin Notifications", + "label": "Enable External Sender Admin Notifications", "name": "standards.MalwareFilterPolicy.EnableExternalSenderAdminNotifications" }, { From bf027f31a0c6e9a3c8f3e3c232d3bcc8a60e639b Mon Sep 17 00:00:00 2001 From: John Duprey Date: Thu, 13 Jun 2024 00:02:22 -0400 Subject: [PATCH 3/9] Per user mfa --- public/MFAStates.json | 14 ++++++++ src/views/identity/administration/Users.jsx | 40 +++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 public/MFAStates.json diff --git a/public/MFAStates.json b/public/MFAStates.json new file mode 100644 index 000000000000..fcaf8dc6ceb3 --- /dev/null +++ b/public/MFAStates.json @@ -0,0 +1,14 @@ +[ + { + "value": "disabled", + "label": "Disabled" + }, + { + "value": "enabled", + "label": "Enabled" + }, + { + "value": "enforced", + "label": "Enforced" + } +] diff --git a/src/views/identity/administration/Users.jsx b/src/views/identity/administration/Users.jsx index 0f34be2af7ef..93adcb0f1de8 100644 --- a/src/views/identity/administration/Users.jsx +++ b/src/views/identity/administration/Users.jsx @@ -111,6 +111,26 @@ const Offcanvas = (row, rowIndex, formatExtraData) => { modalUrl: `/api/ExecSendPush?TenantFilter=${tenant.defaultDomainName}&UserEmail=${row.userPrincipalName}`, modalMessage: 'Are you sure you want to send a MFA request?', }, + { + label: 'Set Per-User MFA', + color: 'info', + modal: true, + modalUrl: `/api/ExecPerUserMFA`, + modalType: 'POST', + modalBody: { + TenantFilter: tenant.defaultDomainName, + userId: `${row.userPrincipalName}`, + }, + modalMessage: 'Are you sure you want to set per-user MFA for these users?', + modalDropdown: { + url: '/MFAStates.json', + labelField: 'label', + valueField: 'value', + addedField: { + State: 'value', + }, + }, + }, { label: 'Convert to Shared Mailbox', color: 'info', @@ -500,6 +520,26 @@ const Users = (row) => { modalUrl: `/api/ExecResetMFA?TenantFilter=!Tenant&ID=!id`, modalMessage: 'Are you sure you want to enable MFA for these users?', }, + { + label: 'Set Per-User MFA', + color: 'info', + modal: true, + modalUrl: `/api/ExecPerUserMFA`, + modalType: 'POST', + modalBody: { + TenantFilter: tenant.defaultDomainName, + userId: '!userPrincipalName', + }, + modalMessage: 'Are you sure you want to set per-user MFA for these users?', + modalDropdown: { + url: '/MFAStates.json', + labelField: 'label', + valueField: 'value', + addedField: { + State: 'value', + }, + }, + }, { label: 'Enable Online Archive', color: 'info', From 02807e9cf61ec514f1d54492745291bc3d2c7ad4 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Thu, 13 Jun 2024 00:02:50 -0400 Subject: [PATCH 4/9] Dev : Add windows terminal launch option --- .vscode/launch.json | 7 +++++++ Tools/Start-CippDevEmulators.ps1 | 4 ++++ 2 files changed, 11 insertions(+) create mode 100644 Tools/Start-CippDevEmulators.ps1 diff --git a/.vscode/launch.json b/.vscode/launch.json index df82b6059e48..b0363910187c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -27,6 +27,13 @@ "request": "launch", "name": "Launch Chrome Debugger", "url": "http://localhost:4280" + }, + { + "type": "PowerShell", + "name": "Launch in Windows Terminal", + "request": "launch", + "cwd": "${cwd}", + "script": ". '${cwd}\\Tools\\Start-CippDevEmulators.ps1'" } ], "compounds": [ diff --git a/Tools/Start-CippDevEmulators.ps1 b/Tools/Start-CippDevEmulators.ps1 new file mode 100644 index 000000000000..b4f6ca696ffe --- /dev/null +++ b/Tools/Start-CippDevEmulators.ps1 @@ -0,0 +1,4 @@ +Write-Host "Starting CIPP Dev Emulators" +$Path = (Get-Item $PSScriptRoot).Parent.Parent.FullName +wt --title CIPP`; new-tab --title 'Azurite' -d $Path pwsh -c azurite`; new-tab --title 'FunctionApp' -d $Path\CIPP-API pwsh -c func start`; new-tab --title 'CIPP Frontend' -d $Path\CIPP pwsh -c npm run start`; new-tab --title 'SWA' -d $Path\CIPP pwsh -c npm run start-swa + From 49c1c22608787cc88882d58965c405c169106faa Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Thu, 13 Jun 2024 17:04:46 +0200 Subject: [PATCH 5/9] fixed shared mailbox text --- src/views/endpoint/intune/MEMListCompliance.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/endpoint/intune/MEMListCompliance.jsx b/src/views/endpoint/intune/MEMListCompliance.jsx index 9b970031bb1d..328a387566fd 100644 --- a/src/views/endpoint/intune/MEMListCompliance.jsx +++ b/src/views/endpoint/intune/MEMListCompliance.jsx @@ -151,7 +151,7 @@ const ComplianceList = () => { label: 'Delete Policy', modal: true, modalUrl: `api/RemovePolicy?TenantFilter=${tenant?.defaultDomainName}&ID=!id&URLName=deviceCompliancePolicies`, - modalMessage: 'Are you sure you want to convert these users to a shared mailbox?', + modalMessage: 'Are you sure you want to delete these policies?', }, ], }, From dc4399bfefc0fb4adca466721cb3478d9e93a23e Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Thu, 13 Jun 2024 18:17:06 +0200 Subject: [PATCH 6/9] updated mfa report --- src/components/tables/CellBoolean.jsx | 1 + src/views/identity/reports/MFAReport.jsx | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/components/tables/CellBoolean.jsx b/src/components/tables/CellBoolean.jsx index fc23282f7a2c..7ed5f5b8ebae 100644 --- a/src/components/tables/CellBoolean.jsx +++ b/src/components/tables/CellBoolean.jsx @@ -47,6 +47,7 @@ export default function CellBoolean({ if ( cell.toLowerCase() === 'success' || cell.toLowerCase() === 'enabled' || + cell.toLowerCase() === 'enforced' || cell.toLowerCase() === 'pass' || cell.toLowerCase() === 'true' || cell.toLowerCase() === 'compliant' diff --git a/src/views/identity/reports/MFAReport.jsx b/src/views/identity/reports/MFAReport.jsx index 4f1d80936fa2..27f09aecfa3b 100644 --- a/src/views/identity/reports/MFAReport.jsx +++ b/src/views/identity/reports/MFAReport.jsx @@ -2,6 +2,7 @@ import React from 'react' import { useSelector } from 'react-redux' import { cellBooleanFormatter, CellTip } from 'src/components/tables' import { CippPageList } from 'src/components/layout' +import { Row } from 'react-bootstrap' const columns = [ { @@ -9,7 +10,8 @@ const columns = [ name: 'User Principal Name', sortable: true, exportSelector: 'UPN', - grow: 2, + cell: (row) => CellTip(row['UPN']), + maxWidth: '400px', }, { selector: (row) => row['AccountEnabled'], @@ -17,6 +19,7 @@ const columns = [ sortable: true, cell: cellBooleanFormatter({ colourless: true }), exportSelector: 'AccountEnabled', + maxWidth: '200px', }, { selector: (row) => row['isLicensed'], @@ -24,6 +27,7 @@ const columns = [ sortable: true, cell: cellBooleanFormatter({ colourless: true }), exportSelector: 'isLicensed', + maxWidth: '200px', }, { selector: (row) => row['MFARegistration'], @@ -31,13 +35,23 @@ const columns = [ sortable: true, cell: cellBooleanFormatter(), exportSelector: 'MFARegistration', + maxWidth: '200px', + }, + { + selector: (row) => row['PerUser'], + name: 'Per user MFA Status', + sortable: true, + cell: cellBooleanFormatter(), + exportSelector: 'PerUser', + maxWidth: '200px', }, { selector: (row) => row['CoveredBySD'], name: 'Enforced via Security Defaults', sortable: true, - cell: cellBooleanFormatter({ colourless: true }), + cell: cellBooleanFormatter(), exportSelector: 'CoveredBySD', + maxWidth: '200px', }, { selector: (row) => row['CoveredByCA'], @@ -46,12 +60,6 @@ const columns = [ cell: (row) => CellTip(row['CoveredByCA']), exportSelector: 'CoveredByCA', }, - { - selector: (row) => row['PerUser'], - name: 'Per user MFA Status', - sortable: true, - exportSelector: 'PerUser', - }, ] const Altcolumns = [ From 77881dcb82bef97bc66fd8fbd8c1b5cd1fca4044 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Fri, 14 Jun 2024 15:02:58 +0200 Subject: [PATCH 7/9] add standard --- src/data/standards.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/data/standards.json b/src/data/standards.json index 7f302b59fdc7..ba3ac5cffb65 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -550,6 +550,16 @@ "impact": "High Impact", "impactColour": "danger" }, + { + "name": "standards.perUserMFA", + "cat": "Entra (AAD) Standards", + "tag": ["highimpact"], + "helpText": "Enables per user MFA for all users.", + "addedComponent": [], + "label": "Enables per user MFA for all users.", + "impact": "High Impact", + "impactColour": "danger" + }, { "name": "standards.OutBoundSpamAlert", "cat": "Exchange Standards", From 1309923e0a962d05553dbf92c9616805185c07f9 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Fri, 14 Jun 2024 15:04:45 +0200 Subject: [PATCH 8/9] correct casing. --- src/data/standards.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/standards.json b/src/data/standards.json index ba3ac5cffb65..6c9455bc7f04 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -551,7 +551,7 @@ "impactColour": "danger" }, { - "name": "standards.perUserMFA", + "name": "standards.PerUserMFA", "cat": "Entra (AAD) Standards", "tag": ["highimpact"], "helpText": "Enables per user MFA for all users.", From c04901bc7dcd4b94055560b3abd07da388e17291 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Fri, 14 Jun 2024 15:37:09 +0200 Subject: [PATCH 9/9] upped versions --- package.json | 2 +- public/version_latest.txt | 2 +- version_latest.txt | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index a8766820628f..f92f847989c0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cipp", - "version": "5.8.0", + "version": "5.8.5", "description": "The CyberDrain Improved Partner Portal is a portal to help manage administration for Microsoft Partners.", "homepage": "https://cipp.app/", "bugs": { diff --git a/public/version_latest.txt b/public/version_latest.txt index 11d9efa3d5ab..a075da200b96 100644 --- a/public/version_latest.txt +++ b/public/version_latest.txt @@ -1 +1 @@ -5.8.0 +5.8.5 diff --git a/version_latest.txt b/version_latest.txt index 82544bb3fa78..a075da200b96 100644 --- a/version_latest.txt +++ b/version_latest.txt @@ -1,2 +1 @@ -5.8.0 - +5.8.5