Skip to content

Commit

Permalink
Merge branch 'KelvinTegelaar:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
RockfieldIT authored Jun 14, 2024
2 parents 7d96826 + 4269a2c commit 2982210
Show file tree
Hide file tree
Showing 12 changed files with 98 additions and 14 deletions.
7 changes: 7 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": [
Expand Down
4 changes: 4 additions & 0 deletions Tools/Start-CippDevEmulators.ps1
Original file line number Diff line number Diff line change
@@ -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

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down
14 changes: 14 additions & 0 deletions public/MFAStates.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[
{
"value": "disabled",
"label": "Disabled"
},
{
"value": "enabled",
"label": "Enabled"
},
{
"value": "enforced",
"label": "Enforced"
}
]
2 changes: 1 addition & 1 deletion public/version_latest.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.8.0
5.8.5
1 change: 1 addition & 0 deletions src/components/buttons/TableModalButton.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,5 @@ TableModalButton.propTypes = {
title: PropTypes.string,
className: PropTypes.string,
countOnly: PropTypes.bool,
icon: PropTypes.string,
}
1 change: 1 addition & 0 deletions src/components/tables/CellBoolean.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
12 changes: 11 additions & 1 deletion src/data/standards.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -1327,7 +1337,7 @@
},
{
"type": "boolean",
"label": "Enable Internal Sender Admin Notifications",
"label": "Enable External Sender Admin Notifications",
"name": "standards.MalwareFilterPolicy.EnableExternalSenderAdminNotifications"
},
{
Expand Down
2 changes: 1 addition & 1 deletion src/views/endpoint/intune/MEMListCompliance.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -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?',
},
],
},
Expand Down
40 changes: 40 additions & 0 deletions src/views/identity/administration/Users.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down Expand Up @@ -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',
Expand Down
24 changes: 16 additions & 8 deletions src/views/identity/reports/MFAReport.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,56 @@ 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 = [
{
selector: (row) => row['UPN'],
name: 'User Principal Name',
sortable: true,
exportSelector: 'UPN',
grow: 2,
cell: (row) => CellTip(row['UPN']),
maxWidth: '400px',
},
{
selector: (row) => row['AccountEnabled'],
name: 'Account Enabled',
sortable: true,
cell: cellBooleanFormatter({ colourless: true }),
exportSelector: 'AccountEnabled',
maxWidth: '200px',
},
{
selector: (row) => row['isLicensed'],
name: 'Account Licensed',
sortable: true,
cell: cellBooleanFormatter({ colourless: true }),
exportSelector: 'isLicensed',
maxWidth: '200px',
},
{
selector: (row) => row['MFARegistration'],
name: 'Registered for Conditional MFA',
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'],
Expand All @@ -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 = [
Expand Down
3 changes: 1 addition & 2 deletions version_latest.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
5.8.0

5.8.5

0 comments on commit 2982210

Please sign in to comment.