Skip to content

Commit

Permalink
Merge pull request #1354 from KelvinTegelaar/dev
Browse files Browse the repository at this point in the history
Dev to release
  • Loading branch information
KelvinTegelaar authored Feb 3, 2023
2 parents b518500 + 5352dba commit 83c372a
Show file tree
Hide file tree
Showing 23 changed files with 231 additions and 89 deletions.
2 changes: 1 addition & 1 deletion public/version_latest.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.20.1
3.0.0
1 change: 0 additions & 1 deletion src/components/layout/CippContentCard.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ export default function CippContentCard({

CippContentCard.propTypes = {
title: PropTypes.string.isRequired,
children: PropTypes.arrayOf(PropTypes.element).isRequired,
icon: PropTypes.object,
button: PropTypes.element,
bodyClass: PropTypes.string,
Expand Down
4 changes: 2 additions & 2 deletions src/components/utilities/CippActionsOffcanvas.js
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ const CippActionsOffcanvasPropTypes = {
onClick: PropTypes.func,
modal: PropTypes.bool,
modalUrl: PropTypes.string,
modalBody: PropTypes.string,
modalBody: PropTypes.object,
modalType: PropTypes.string,
modalInput: PropTypes.bool,
modalMessage: PropTypes.string,
Expand All @@ -220,7 +220,7 @@ const CippActionsOffcanvasPropTypes = {
onClick: PropTypes.func,
modal: PropTypes.bool,
modalUrl: PropTypes.string,
modalBody: PropTypes.string,
modalBody: PropTypes.object,
modalType: PropTypes.string,
modalInput: PropTypes.bool,
modalMessage: PropTypes.string,
Expand Down
2 changes: 1 addition & 1 deletion src/components/utilities/ReportImage.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const ReportImage = () => {
<center>
Suggested image size: 120x100. This is a per user setting.<br></br>
<CButton
type="file"
type="button"
name="file"
onClick={() => inputRef.current.click()}
className="me-2"
Expand Down
21 changes: 0 additions & 21 deletions src/data/standards.json
Original file line number Diff line number Diff line change
Expand Up @@ -134,20 +134,6 @@
"addedComponent": null,
"label": "Disable M365 Tenant creation by users"
},
{
"cat": "AAD",
"name": "standards.SSPR",
"helpText": "This is the default helptext",
"addedComponent": null,
"label": "Enable Self Service Password Reset"
},
{
"cat": "AAD",
"name": "standards.UndoSSPR",
"helpText": "This is the default helptext",
"addedComponent": null,
"label": "Undo SSPR Standard"
},
{
"cat": "AAD",
"name": "standards.OauthConsent.Enabled",
Expand All @@ -159,13 +145,6 @@
},
"label": "Require admin consent for applications (Prevent OAuth phishing.)"
},
{
"cat": "AAD",
"name": "standards.AzurePortal",
"helpText": "This is the default helptext",
"addedComponent": null,
"label": "Disable Azure Portal access for Standard users"
},
{
"cat": "AAD",
"name": "standards.LegacyMFA",
Expand Down
4 changes: 2 additions & 2 deletions src/store/api/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ export const usersApi = baseApi.injectEndpoints({
}),
}),
listUser: builder.query({
query: ({ tenantDomain, userId }) => ({
query: ({ tenantDomain, userId, IncludeLogonDetails }) => ({
path: '/api/ListUsers',
params: { userId, TenantFilter: tenantDomain },
params: { userId, TenantFilter: tenantDomain, IncludeLogonDetails },
}),
transformResponse: (response) => {
if (response?.length > 0) {
Expand Down
62 changes: 38 additions & 24 deletions src/views/cipp/CIPPSettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ const GeneralSettings = () => {
<CCardTitle>Permissions Check</CCardTitle>
</CCardHeader>
<CCardBody>
Click the button below to start a permissions check. <br />
<CRow>Click the button below to start a permissions check.</CRow>
<CButton
onClick={() => checkPermissions()}
disabled={permissionsResult.isFetching}
Expand Down Expand Up @@ -344,12 +344,14 @@ const GeneralSettings = () => {
<CCardTitle>Clear Cache</CCardTitle>
</CCardHeader>
<CCardBody>
Click the button below to clear the application cache. You can clear only the tenant
cache, or all caches. <br /> <br />
<CRow>
Click the button below to clear the application cache. You can clear only the tenant
cache, or all caches.
</CRow>
<CButton
onClick={() => handleClearCache()}
disabled={clearCacheResult.isFetching}
className="me-3"
className="me-3 mt-3"
>
{clearCacheResult.isFetching && (
<FontAwesomeIcon icon={faCircleNotch} spin className="me-2" size="1x" />
Expand All @@ -359,7 +361,7 @@ const GeneralSettings = () => {
<CButton
onClick={() => handleClearCacheTenant()}
disabled={clearCacheResult.isFetching}
className="me-3"
className="me-3 mt-3"
>
{clearCacheResult.isFetching && (
<FontAwesomeIcon icon={faCircleNotch} spin className="me-2" size="1x" />
Expand All @@ -383,8 +385,8 @@ const GeneralSettings = () => {
<CRow className="mb-3">
<CCol>
<div className="mb-3">
Click the button below to start a tenant access check. You can select multiple a
maximum of {maxSelected + 1} tenants is recommended.
Click the button below to start a tenant access check. You can select multiple,
but a maximum of {maxSelected + 1} tenants is recommended.
</div>

<TenantSelectorMultiple
Expand Down Expand Up @@ -444,7 +446,7 @@ const GeneralSettings = () => {
<CCardTitle>Run Backup</CCardTitle>
</CCardHeader>
<CCardBody>
Click the button below to start a backup of all settings <br />
<CRow>Click the button below to start a backup of all Settings</CRow>
<CButton
onClick={() => runBackup({ path: '/api/ExecRunBackup' })}
disabled={RunBackupResult.isFetching}
Expand Down Expand Up @@ -727,8 +729,10 @@ const SecuritySettings = () => {
<CCardTitle>Resource Group</CCardTitle>
</CCardHeader>
<CCardBody className="equalheight">
The Resource group contains all the CIPP resources in your tenant, except the SAM
Application <br /> <br />
<CRow className="mb-3">
The Resource group contains all the CIPP resources in your tenant, except the SAM
Application
</CRow>
<a
target={'_blank'}
href={listBackendResult.data?.Results?.ResourceGroup}
Expand All @@ -745,9 +749,10 @@ const SecuritySettings = () => {
<CCardTitle>Key Vault</CCardTitle>
</CCardHeader>
<CCardBody className="equalheight">
The keyvault allows you to check token information. By default you do not have
access.
<br /> <br />
<CRow className="mb-3">
The keyvault allows you to check token information. By default you do not have
access.
</CRow>
<a
target={'_blank'}
href={listBackendResult.data?.Results?.KeyVault}
Expand All @@ -764,9 +769,10 @@ const SecuritySettings = () => {
<CCardTitle>Static Web App (Role Management)</CCardTitle>
</CCardHeader>
<CCardBody className="equalheight">
The Static Web App role management allows you to invite other users to the
application.
<br /> <br />
<CRow className="mb-3">
The Static Web App role management allows you to invite other users to the
application.
</CRow>
<a
target={'_blank'}
href={listBackendResult.data?.Results?.SWARoles}
Expand All @@ -785,8 +791,9 @@ const SecuritySettings = () => {
<CCardTitle>Function App (Deployment Center)</CCardTitle>
</CCardHeader>
<CCardBody className="equalheight">
The Function App Deployment Center allows you to run updates on the API
<br /> <br />
<CRow className="mb-3">
The Function App Deployment Center allows you to run updates on the API
</CRow>
<a
target={'_blank'}
href={listBackendResult.data?.Results?.FunctionDeployment}
Expand All @@ -803,8 +810,10 @@ const SecuritySettings = () => {
<CCardTitle>Function App (Configuration)</CCardTitle>
</CCardHeader>
<CCardBody className="equalheight">
At the Function App Configuration you can check the status of the API access to your
keyvault <br /> <br />
<CRow className="mb-3">
At the Function App Configuration you can check the status of the API access to
your keyvault
</CRow>
<a
target={'_blank'}
href={listBackendResult.data?.Results?.FunctionConfig}
Expand All @@ -821,7 +830,9 @@ const SecuritySettings = () => {
<CCardTitle>Function App (Overview)</CCardTitle>
</CCardHeader>
<CCardBody className="equalheight">
At the function App Overview, you can stop and start the backend API <br /> <br />
<CRow className="mb-3">
At the function App Overview, you can stop and start the backend API
</CRow>
<a
target={'_blank'}
href={listBackendResult.data?.Results?.FunctionApp}
Expand All @@ -840,7 +851,6 @@ const SecuritySettings = () => {

const NotificationsSettings = () => {
const [configNotifications, notificationConfigResult] = useLazyExecNotificationConfigQuery()

const [listNotification, notificationListResult] = useLazyListNotificationConfigQuery()
const onSubmit = (values) => {
console.log(values)
Expand Down Expand Up @@ -888,7 +898,11 @@ const NotificationsSettings = () => {
)}
<CCol>
<CCol>
<RFFCFormInput type="text" name="email" label="E-mail" />
<RFFCFormInput
type="text"
name="email"
label="E-mail (Separate multiple E-mails with commas e.g.: matt@example.com, joe@sample.com)"
/>
</CCol>
<CCol>
<RFFCFormInput type="text" name="webhook" label="Webhook" />
Expand Down Expand Up @@ -1079,7 +1093,7 @@ const DNSSettings = () => {
<CCardTitle>DNS Resolver</CCardTitle>
</CCardHeader>
<CCardBody>
Select a DNS resolver to use for Domain Analysis. <br />
<CRow>Select a DNS resolver to use for Domain Analysis.</CRow>
<CButtonGroup role="group" aria-label="Resolver" className="my-3">
{resolvers.map((r, index) => (
<CButton
Expand Down
39 changes: 34 additions & 5 deletions src/views/cipp/Setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ const Setup = () => {
</center>
<hr className="my-4" />
This wizard will guide you through setting up a SAM application and using the correct keys.
This setup is still a beta feature, and as such so be treated with care.
<RFFCFormRadio
value="CreateSAM"
name="SetupType"
Expand All @@ -107,7 +106,12 @@ const Setup = () => {
<RFFCFormRadio
value="ExistingSAM"
name="SetupType"
label="I have an existing SAM application and would like to enter my tokens, or update them."
label="I have an existing SAM application and would like to manually enter my tokens, or update them."
></RFFCFormRadio>
<RFFCFormRadio
value="RefreshTokensOnly"
name="SetupType"
label="I would like to refresh my tokens or replace the user I've used for my previous tokens."
></RFFCFormRadio>
<hr className="my-4" />
</CippWizard.Page>
Expand All @@ -117,6 +121,31 @@ const Setup = () => {
<h5 className="card-title mb-4">Enter the secure application model credentials.</h5>
</center>
<hr className="my-4" />
<Condition when="SetupType" is="RefreshTokensOnly">
<CRow className="mb-3">
<CCol md={6} className="mb-3">
Click the buttons below to refresh your tokens.
<br /> Remember to login under a account that has been added to the correct GDAP
groups or the group 'AdminAgents'. After confirmation that the refresh is successful,
the token cache must be cleared.
<br />
{getResults.isUninitialized && genericGetRequest({ path: 'api/ExecListAppId' })}
{getResults.isSuccess && (
<>
<CRow className="mb-3">
<CCol md={2} className="mb-3">
<a target="_blank" href={`${getResults.data.refreshUrl}`}>
<CButton color="primary">Refresh Graph Token</CButton>
</a>
</CCol>
</CRow>
<CRow></CRow>
</>
)}
</CCol>
<CCol md={2}></CCol>
</CRow>
</Condition>
<Condition when="SetupType" is="CreateSAM">
<RFFCFormRadio
value="True"
Expand All @@ -131,7 +160,7 @@ const Setup = () => {
<Condition when="Partner" is="True">
<CRow>
<p>
When clicking the button below, the setup wizard starts. This is a 7 step process.
When clicking the button below, the setup wizard starts. This is a 5 step process.
Please use a Global Administrator to perform these tasks. You can restart the
process at any time, by clicking on the start button once more.
</p>
Expand All @@ -155,7 +184,7 @@ const Setup = () => {
{getResults.isFetching && <CSpinner size="sm">Loading</CSpinner>}
{getResults.isSuccess && (
<>
{getResults.data?.step < 7 ? (
{getResults.data?.step < 5 ? (
<CSpinner size="sm"></CSpinner>
) : (
<FontAwesomeIcon icon={faCheck}></FontAwesomeIcon>
Expand Down Expand Up @@ -192,7 +221,7 @@ const Setup = () => {
{getResults.isFetching && <CSpinner size="sm">Loading</CSpinner>}
{getResults.isSuccess && (
<>
{getResults.data?.step < 7 ? (
{getResults.data?.step < 5 ? (
<CSpinner size="sm"></CSpinner>
) : (
<FontAwesomeIcon icon={faCheck}></FontAwesomeIcon>
Expand Down
6 changes: 6 additions & 0 deletions src/views/email-exchange/reports/MailboxStatisticsList.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ const columns = [
cell: (row) => CellTip(row['displayName']),
exportSelector: 'displayName',
},
{
selector: (row) => row['MailboxType'],
name: 'Mailbox Type',
sortable: true,
exportSelector: 'MailboxType',
},
{
selector: (row) => row['LastActive'],
name: 'Last Active',
Expand Down
14 changes: 11 additions & 3 deletions src/views/endpoint/autopilot/AutopilotAddDevice.js
Original file line number Diff line number Diff line change
Expand Up @@ -148,10 +148,18 @@ const AddAPDevice = () => {
<div className="mb-2">
<p>
As a partner, you can register devices to Windows Autopilot using any one of these
methods: Hardware Hash (available from OEM or on-device script) Combination of
Manufacturer, Device Model, Device Serial Number Windows Product Key ID.
methods:
<li>Hardware Hash (available from OEM or on-device script)</li>
<li>Combination of Manufacturer, Device Model, Device Serial Number</li>
<li> Windows Product Key ID.</li>
</p>
<p>
You can also upload a CSV file if your vendor has supplied you with one.
<br />
<a href="data:text/csv;charset=utf-8,%EF%BB%BFDevice serial number,Windows product ID,Hardware hash,Manufacturer name,Device Model%0AR9-ZNP67,,,,,%0A,123451234567,,,,%0A,,T0FzAQEAHAAAAAoA6AOCOgEABgBgW7EdzorHH3g,,,%0A,,,,,%0A,,,,,%0A,,,,,%0ASAMPLE EXPLAINED (remove the following section before uploading),,,,,%0ALine 2 illustrates the tuple - Providing the Serial Number and Manufacturer Name and Device Model together,,,,,%0ALine 3 illustrates only providing the Windows PKID,,,,,%0ALine 4 illustrates only providing the Hardware Hash,,,,,%0A">
Example CSV
</a>
</p>
<p>You can also upload a CSV file if your vendor has supplied you with one.</p>
</div>
<CCol xs={'auto'}>
<CSVReader
Expand Down
4 changes: 2 additions & 2 deletions src/views/identity/administration/EditUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ const EditUser = () => {
keepLicenses: true,
...user,
usageLocation: {
value: user.usageLocation ? user.usageLocation : usageLocation,
label: user.usageLocation ? user.usageLocation : usageLocation,
value: user.usageLocation ? user.usageLocation : usageLocation?.value,
label: user.usageLocation ? user.usageLocation : usageLocation?.label,
},
license: precheckedLicenses,
}
Expand Down
Loading

0 comments on commit 83c372a

Please sign in to comment.