Skip to content

Commit

Permalink
Merge pull request KelvinTegelaar#1852 from KelvinTegelaar/dev
Browse files Browse the repository at this point in the history
Dev to release - GDAP hotfix + new features
  • Loading branch information
KelvinTegelaar authored Nov 3, 2023
2 parents 5a6b29d + feb16cd commit 0e46a5f
Show file tree
Hide file tree
Showing 22 changed files with 734 additions and 245 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ body:
- Please search the existing feature request to see if there has been a similar issue filed.
- If a feature has been filed before, but not followed up by a contributor, you can develop the feature yourself by checking the development documentation [here](https://cipp.app/docs/dev/).
- If a feature has been filed before, but not followed up by a contributor, you can develop the feature yourself by checking the development documentation [here](https://docs.cipp.app/dev-documentation/cipp-dev-guide/setting-up-for-local-development).
- Repeat feature requests are allowed if the previous request has been closed for more than 30 days
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Close_Stale_Issues_and_PRs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
steps:
- uses: actions/stale@v4
with:
stale-issue-message: 'This issue is stale because it has been open 10 days with no activity. We will close this issue soon. If you want this feature implemented you can contribute it. See: https://cipp.app/GettingStarted/Contributions/ . Please notify the team if you are working on this yourself.'
stale-issue-message: 'This issue is stale because it has been open 10 days with no activity. We will close this issue soon. If you want this feature implemented you can contribute it. See: https://docs.cipp.app/dev-documentation/contributing-to-the-code . Please notify the team if you are working on this yourself.'
close-issue-message: 'This issue was closed because it has been stalled for 14 days with no activity.'
stale-issue-label: 'no-activity'
exempt-issue-labels: 'planned'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Comment_on_Issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@ jobs:
Your current priority is set to "No Priority". No Priority Feature requests automatically get closed in two days if a contributor does not accept the FR.
If you are a sponsor you can request an upgrade of priority. To upgrade the priority type "I would like to upgrade the priority".
If you want this feature to be integrated you can always do this yourself by checking out our contributions guide at https://cipp.app/docs/dev/. Contributors to the CIPP project reserve the right to close feature requests at will.
If you want this feature to be integrated you can always do this yourself by checking out our contributions guide at https://docs.cipp.app/dev-documentation/contributing-to-the-code. Contributors to the CIPP project reserve the right to close feature requests at will.
If you'd like this feature request to be assigned to you, please comment "I would like to work on this please!".
2 changes: 1 addition & 1 deletion public/version_latest.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.5.0
4.5.5
19 changes: 19 additions & 0 deletions src/_nav.js
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,25 @@ const _nav = [
},
],
},
{
component: CNavGroup,
name: 'Tools',
section: 'Tools',
to: '/email/tools',
icon: <FontAwesomeIcon icon={faToolbox} className="nav-icon" />,
items: [
{
component: CNavItem,
name: 'Mailbox Restore Wizard',
to: '/email/tools/mailbox-restore-wizard',
},
{
component: CNavItem,
name: 'Mailbox Restores',
to: '/email/tools/mailbox-restores',
},
],
},
{
component: CNavTitle,
name: 'Settings',
Expand Down
2 changes: 1 addition & 1 deletion src/components/forms/RFFComponents.js
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ export const RFFSelectSearch = ({
isMulti={multi}
/>
)}
<RFFCFormFeedback meta={meta} />
{meta.error && meta.touched && <span className="text-danger">{meta.error}</span>}
</div>
)
}}
Expand Down
3 changes: 3 additions & 0 deletions src/components/tables/CellGenericFormat.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ export const cellGenericFormatter =
if (cell.toLowerCase() === 'failed') {
return <CBadge color="danger">{CellTip('Failed to retrieve from API')}</CBadge>
}
if (cell.toLowerCase().startsWith('http')) {
return <a href={`${cell}`}>URL</a>
}
return CellTip(cell)
}
if (typeof cell === 'number') {
Expand Down
7 changes: 7 additions & 0 deletions src/components/utilities/CippActionsOffcanvas.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,13 @@ export default function CippActionsOffcanvas(props) {
title: 'Confirm',
onConfirm: () => genericGetRequest({ path: modalUrl }),
})
} else if (modalType === 'codeblock') {
ModalService.open({
data: modalBody,
componentType: 'codeblock',
title: 'Info',
size: 'lg',
})
} else {
ModalService.confirm({
key: modalContent,
Expand Down
5 changes: 5 additions & 0 deletions src/components/utilities/SharedModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import React from 'react'
import { CButton, CModal, CModalBody, CModalFooter, CModalHeader, CModalTitle } from '@coreui/react'
import PropTypes from 'prop-types'
import { CippTable } from 'src/components/tables'
import CippCodeBlock from 'src/components/utilities/CippCodeBlock'

/**
*
Expand All @@ -18,6 +19,10 @@ function mapBodyComponent({ componentType, data, componentProps }) {
return <div>{Array.isArray(data) && data.map((el, idx) => <div key={idx}>{el}</div>)}</div>
case 'text':
return String(data)
case 'codeblock':
return (
<CippCodeBlock language="text" code={data} showLineNumbers={false} {...componentProps} />
)
default:
return String(data)
}
Expand Down
54 changes: 27 additions & 27 deletions src/data/standards.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{
"name": "standards.MailContacts.GeneralContact.Enabled",
"cat": "Global",
"helpText": "",
"helpText": "Receives emails about updates about subscriptions etc",
"addedComponent": {
"type": "input",
"name": "standards.MailContacts.GeneralContact.Mail",
Expand All @@ -13,7 +13,7 @@
{
"name": "standards.MailContacts.SecurityContact.Enabled",
"cat": "Global",
"helpText": "",
"helpText": "Receives emails about security alerts or advisories by Microsoft",
"addedComponent": {
"type": "input",
"name": "standards.MailContacts.SecurityContact.Mail",
Expand All @@ -24,7 +24,7 @@
{
"name": "standards.MailContacts.MarketingContact.Enabled",
"cat": "Global",
"helpText": "",
"helpText": "Receives the emails related to marketing; new features etc",
"addedComponent": {
"type": "input",
"name": "standards.MailContacts.MarketingContact.Mail",
Expand All @@ -35,7 +35,7 @@
{
"name": "standards.MailContacts.TechContact.Enabled",
"cat": "Global",
"helpText": "",
"helpText": "Receives emails related to possible technical issues, service disruptions, etc",
"addedComponent": {
"type": "input",
"name": "standards.MailContacts.TechContact.Mail",
Expand All @@ -46,7 +46,7 @@
{
"name": "standards.AuditLog",
"cat": "Global",
"helpText": "",
"helpText": "Also runs Enable-OrganizationCustomization if needed",
"addedComponent": null,
"label": "Enable the Unified Audit Log"
},
Expand All @@ -67,21 +67,21 @@
{
"name": "standards.ModernAuth",
"cat": "Global",
"helpText": "",
"helpText": "Modern Authentication is enabled by default. This standard is no longer required and can be safely disabled",
"addedComponent": null,
"label": "Enable Modern Authentication"
},
{
"name": "standards.DisableBasicAuth",
"cat": "Global",
"helpText": "",
"helpText": "Basic Authentication is disabled by default. This standard is no longer required and can be safely disabled",
"addedComponent": null,
"label": "Disable Basic Authentication"
},
{
"name": "standards.DisableBasicAuthSMTP",
"cat": "Global",
"helpText": "",
"helpText": "Disables SMTP AUTH for the organization. This is the default for new tenants. Can be overridden by enabling SMTP AUTH on specific users",
"addedComponent": null,
"label": "Disable SMTP Basic Authentication"
},
Expand All @@ -95,14 +95,14 @@
{
"name": "standards.PWnumberMatchingRequiredState",
"cat": "AAD",
"helpText": "",
"helpText": "Passwordless with number matching is now enabled by default. This standard is no longer required and can be safely disabled",
"addedComponent": null,
"label": "Enable Passwordless with Number Matching"
},
{
"cat": "AAD",
"name": "standards.PWdisplayAppInformationRequiredState",
"helpText": "",
"helpText": "Enables the MS authenticator app to display information about the app that is requesting authentication",
"addedComponent": null,
"label": "Enable Passwordless with Location information and Number Matching"
},
Expand Down Expand Up @@ -151,21 +151,21 @@
{
"cat": "AAD",
"name": "standards.SecurityDefaults",
"helpText": "",
"helpText": "Enables security defaults for the tenant. This has a lot of implications and should be carefully considered before enabling",
"addedComponent": null,
"label": "Enable Security Defaults"
},
{
"cat": "AAD",
"name": "standards.PasswordExpireDisabled",
"helpText": "",
"helpText": "Disables the expiration of passwords for the tenant",
"addedComponent": null,
"label": "Do not expire passwords"
},
{
"cat": "AAD",
"name": "standards.DisableSecurityGroupUsers",
"helpText": "",
"helpText": "Completely disables the creation of security groups by users. This also breaks the ability to manage groups themselves, or create Teams",
"addedComponent": null,
"label": "Disable Security Group creation by users"
},
Expand Down Expand Up @@ -210,14 +210,14 @@
{
"cat": "AAD",
"name": "standards.NudgeMFA.enable",
"helpText": "",
"helpText": "Enables registration campaign for the tenant",
"addedComponent": null,
"label": "Request to setup Authenticator if not setup yet."
},
{
"cat": "AAD",
"name": "standards.NudgeMFA.disable",
"helpText": "",
"helpText": "Disables registration campaign for the tenant",
"addedComponent": null,
"label": "Disables the request to setup Authenticator if setup."
},
Expand All @@ -238,7 +238,7 @@
{
"cat": "AAD",
"name": "standards.UndoOauth",
"helpText": "",
"helpText": "Disables App consent and set to Allow user consent for apps",
"addedComponent": null,
"label": "Undo App Consent Standard"
},
Expand All @@ -252,7 +252,7 @@
{
"cat": "AAD",
"name": "standards.EnableFIDO2",
"helpText": "",
"helpText": "Enables the FIDO2 authenticationMethod for the tenant",
"addedComponent": null,
"label": "Enable FIDO2 capabilities"
},
Expand Down Expand Up @@ -298,14 +298,14 @@
{
"name": "standards.AutoExpandArchive",
"cat": "Exchange",
"helpText": "",
"helpText": "Enables auto-expanding archives for the tenant",
"addedComponent": null,
"label": "Enable Auto-expanding archives"
},
{
"name": "standards.SpoofWarn.enable",
"cat": "Exchange",
"helpText": "",
"helpText": "Adds indicators to e-mail messages received from external senders in Outlook. Works on all Outlook clients/OWA",
"addedComponent": null,
"label": "Enable Spoofing warnings for Outlook (This e-mail is external identifiers)"
},
Expand Down Expand Up @@ -340,7 +340,7 @@
{
"name": "standards.ActivityBasedTimeout",
"cat": "Global",
"helpText": "",
"helpText": "Enables and sets Idle session timeout for Microsoft 365 to 1 hour. This policy affects most M365 web apps",
"addedComponent": null,
"label": "Enable 1 hour Activity based Timeout"
},
Expand Down Expand Up @@ -371,12 +371,12 @@
"value": "Contributor"
},
{
"label": "Free Busy Time And Subject And Location - The user can view free/busy time within the calendar and the subject and location of appointments.",
"value": "FreeBusyTimeAndSubjectAndLocation"
"label": "Limited Details - The user can view free/busy time within the calendar and the subject and location of appointments.",
"value": "LimitedDetails"
},
{
"label": "Indicates that the user can view only free/busy time within the calendar.",
"value": "FreeBusyTimeOnly"
"label": "Availability Only - Indicates that the user can view only free/busy time within the calendar.",
"value": "AvailabilityOnly"
},
{
"label": "None - The user has no permissions on the folder.",
Expand Down Expand Up @@ -414,7 +414,7 @@
{
"name": "standards.intuneDeviceRetirementDays.Enabled",
"cat": "Intune",
"helpText": "",
"helpText": "A value between 0 and 270 is supported. A value of 0 disables retirement.",
"addedComponent": {
"type": "input",
"name": "standards.intuneDeviceRetirementDays.days",
Expand Down Expand Up @@ -485,14 +485,14 @@
{
"name": "standards.DeletedUserRentention",
"cat": "SharePoint",
"helpText": "",
"helpText": "Sets the retenton period for deleted users OneDrive to 1 year/365 days",
"addedComponent": null,
"label": "Retain a deleted user OneDrive for 1 year"
},
{
"name": "standards.DisableUserSiteCreate",
"cat": "SharePoint",
"helpText": "",
"helpText": "Disables users from creating new SharePoint sites",
"addedComponent": null,
"label": "Disable site creation by standard users"
},
Expand Down
14 changes: 14 additions & 0 deletions src/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,10 @@ const ServiceHealth = React.lazy(() => import('src/views/tenant/administration/S
const EnterpriseApplications = React.lazy(() =>
import('src/views/tenant/administration/ListEnterpriseApps'),
)
const MailboxRestoreWizard = React.lazy(() =>
import('src/views/email-exchange/tools/MailboxRestoreWizard'),
)
const MailboxRestores = React.lazy(() => import('src/views/email-exchange/tools/MailboxRestores'))

const routes = [
// { path: '/', exact: true, name: 'Home' },
Expand Down Expand Up @@ -544,6 +548,16 @@ const routes = [
name: 'List Spamfilter Templates',
component: SpamFilterTemplate,
},
{
path: '/email/tools/mailbox-restore-wizard',
name: 'Mailbox Restore Wizard',
component: MailboxRestoreWizard,
},
{
path: '/email/tools/mailbox-restores',
name: 'Mailbox Restores',
component: MailboxRestores,
},
{
path: '/email/spamfilter/add-template',
name: 'Add Spamfilter Template',
Expand Down
Loading

0 comments on commit 0e46a5f

Please sign in to comment.