Skip to content

Commit

Permalink
Merge pull request #857 from KelvinTegelaar/dev
Browse files Browse the repository at this point in the history
Dev to release
  • Loading branch information
KelvinTegelaar authored Apr 1, 2022
2 parents 60e8fd6 + 185abb2 commit 7f1b403
Show file tree
Hide file tree
Showing 23 changed files with 1,821 additions and 480 deletions.
412 changes: 157 additions & 255 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/version_latest.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.3.0
2.4.0
80 changes: 72 additions & 8 deletions src/_nav.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import {
faEnvelope,
faWindowRestore,
faUnlock,
faKey,
faBus,
} from '@fortawesome/free-solid-svg-icons'

const _nav = [
Expand Down Expand Up @@ -133,11 +135,10 @@ const _nav = [
name: 'Licence Report',
to: '/tenant/administration/list-licenses',
},

{
component: CNavItem,
name: 'Conditional Access Policies',
to: '/tenant/administration/conditional-access-policies',
name: 'Service Health',
to: '/tenant/administration/service-health',
},
],
},
Expand Down Expand Up @@ -175,6 +176,35 @@ const _nav = [
},
],
},
{
component: CNavGroup,
name: 'Conditional Access',
section: 'Conditional Access',
to: '/tenant/administration',
icon: <FontAwesomeIcon icon={faKey} className="nav-icon" />,
items: [
{
component: CNavItem,
name: 'List Policies',
to: '/tenant/conditional/list-policies',
},
{
component: CNavItem,
name: 'Deploy Conditional Access',
to: '/tenant/conditional/deploy',
},
{
component: CNavItem,
name: 'Add Template',
to: '/tenant/conditional/add-template',
},
{
component: CNavItem,
name: 'List Templates',
to: '/tenant/conditional/list-template',
},
],
},
{
component: CNavTitle,
name: 'Security & Compliance',
Expand Down Expand Up @@ -392,6 +422,35 @@ const _nav = [
},
],
},
{
component: CNavGroup,
name: 'Transport Rules',
section: 'Transport Rules',
to: '/tenant/administration',
icon: <FontAwesomeIcon icon={faBus} className="nav-icon" />,
items: [
{
component: CNavItem,
name: 'List Transport rules',
to: '/email/transport/list-rules',
},
{
component: CNavItem,
name: 'Deploy Transport rule',
to: '/email/transport/deploy-rules',
},
{
component: CNavItem,
name: 'Add Template',
to: '/email/transport/add-template',
},
{
component: CNavItem,
name: 'List Templates',
to: '/email/transport/list-templates',
},
],
},
{
component: CNavGroup,
name: 'Reports',
Expand Down Expand Up @@ -434,14 +493,19 @@ const _nav = [
items: [
{
component: CNavItem,
name: 'Documentation',
href: 'https://cipp.app',
target: '_blank',
name: 'Settings',
to: '/cipp/settings',
},
{
component: CNavItem,
name: 'Settings',
to: '/cipp/settings',
name: 'SAM Setup Wizard (β)',
to: '/cipp/setup',
},
{
component: CNavItem,
name: 'Documentation',
href: 'https://cipp.app',
target: '_blank',
},
],
},
Expand Down
3 changes: 3 additions & 0 deletions src/adminRoutes.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
import React from 'react'
const CIPPSettings = React.lazy(() => import('src/views/cipp/CIPPSettings'))
const Setup = React.lazy(() => import('src/views/cipp/Setup'))
const ApplyStandard = React.lazy(() => import('src/views/tenant/standards/ApplyStandard'))

const adminRoutes = [
{ path: '/cipp', name: 'CIPP' },
{ path: '/cipp/cipp', name: 'CIPP' },
{ path: '/cipp/settings', name: 'Settings', component: CIPPSettings },
{ path: '/cipp/setup', name: 'Setup', component: Setup },

{ path: '/tenant/standards/apply-standard', name: 'Apply Standard', component: ApplyStandard },
]

Expand Down
53 changes: 40 additions & 13 deletions src/components/utilities/CippActionsOffcanvas.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,49 @@ import { CCallout, CListGroup, CListGroupItem, COffcanvasTitle, CSpinner } from
import { CippOffcanvas, ModalService } from 'src/components/utilities'
import { CippOffcanvasPropTypes } from 'src/components/utilities/CippOffcanvas'
import { CippOffcanvasTable } from 'src/components/tables'
import { useLazyGenericGetRequestQuery } from 'src/store/api/app'
import { useLazyGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app'
import { useNavigate } from 'react-router-dom'

export default function CippActionsOffcanvas(props) {
const [genericGetRequest, getResults] = useLazyGenericGetRequestQuery()
const [genericPostRequest, postResults] = useLazyGenericPostRequestQuery()

const handleLink = useNavigate()
const handleExternalLink = (link) => {
window.open(link, '_blank')
}
const handleModal = (modalMessage, modalUrl) => {
ModalService.confirm({
body: (
<div style={{ overflow: 'visible' }}>
<div>{modalMessage}</div>
</div>
),
title: 'Confirm',
onConfirm: () => genericGetRequest({ path: modalUrl }),
})
const handleModal = (modalMessage, modalUrl, modalType = 'GET', modalBody) => {
if (modalType === 'GET') {
ModalService.confirm({
body: (
<div style={{ overflow: 'visible' }}>
<div>{modalMessage}</div>
</div>
),
title: 'Confirm',
onConfirm: () => genericGetRequest({ path: modalUrl }),
})
} else {
ModalService.confirm({
body: (
<div style={{ overflow: 'visible' }}>
<div>{modalMessage}</div>
</div>
),
title: 'Confirm',
onConfirm: () => genericPostRequest({ path: modalUrl, values: modalBody }),
})
}
}
const handleOnClick = (link, modal, modalMessage, modalUrl, external) => {
const handleOnClick = (link, modal, modalMessage, modalUrl, external, modalType, modalBody) => {
if (link) {
if (external) {
handleExternalLink(link)
} else {
handleLink(link)
}
} else if (modal) {
handleModal(modalMessage, modalUrl)
handleModal(modalMessage, modalUrl, modalType, modalBody)
}
}
const extendedInfoContent = <CippOffcanvasTable rows={props.extendedInfo} guid={props.id} />
Expand All @@ -48,6 +62,8 @@ export default function CippActionsOffcanvas(props) {
action.modalMessage,
action.modalUrl,
action.external,
action.modalType,
action.modalBody,
)
}
key={index}
Expand All @@ -69,6 +85,15 @@ export default function CippActionsOffcanvas(props) {
<CSpinner>Loading</CSpinner>
</CCallout>
)}
{postResults.isFetching && (
<CCallout color="info">
<CSpinner>Loading</CSpinner>
</CCallout>
)}
{postResults.isSuccess && <CCallout color="info">{postResults.data?.Results}</CCallout>}
{postResults.isError && (
<CCallout color="danger">Could not connect to API: {postResults.error.message}</CCallout>
)}
{getResults.isSuccess && <CCallout color="info">{getResults.data?.Results}</CCallout>}
{getResults.isError && (
<CCallout color="danger">Could not connect to API: {getResults.error.message}</CCallout>
Expand Down Expand Up @@ -97,6 +122,8 @@ const CippActionsOffcanvasPropTypes = {
onClick: PropTypes.func,
modal: PropTypes.bool,
modalUrl: PropTypes.string,
modalBody: PropTypes.string,
modalType: PropTypes.string,
modalMessage: PropTypes.string,
external: PropTypes.bool,
}),
Expand Down
68 changes: 64 additions & 4 deletions src/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,17 @@ const GraphExplorer = React.lazy(() => import('src/views/tenant/administration/G

const Domains = React.lazy(() => import('src/views/tenant/administration/Domains'))
const EditTenant = React.lazy(() => import('src/views/tenant/administration/EditTenant'))
const ConditionalAccess = React.lazy(() =>
import('src/views/tenant/administration/ConditionalAccess'),
const ConditionalAccess = React.lazy(() => import('src/views/tenant/conditional/ConditionalAccess'))
const ListConditionalTemplates = React.lazy(() =>
import('src/views/tenant/conditional/ListCATemplates'),
)

const AddConditionalTemplate = React.lazy(() =>
import('src/views/tenant/conditional/AddCATemplate'),
)

const DeployConditional = React.lazy(() => import('src/views/tenant/conditional/DeployCA'))

const ListLicences = React.lazy(() => import('src/views/tenant/administration/ListLicences'))

const BasicAuthReport = React.lazy(() => import('src/views/identity/reports/BasicAuthReport'))
Expand Down Expand Up @@ -123,8 +131,21 @@ const MessageTrace = React.lazy(() => import('src/views/email-exchange/reports/M
const PhishingPoliciesList = React.lazy(() =>
import('src/views/email-exchange/reports/PhishingPoliciesList'),
)
const TransportRulesList = React.lazy(() =>
import('src/views/email-exchange/transport/TransportRules'),
)
const TransportTemplate = React.lazy(() =>
import('src/views/email-exchange/transport/ListTransportTemplates'),
)
const AddTransportTemplate = React.lazy(() =>
import('src/views/email-exchange/transport/AddTransportTemplate'),
)
const TransportDeploy = React.lazy(() =>
import('src/views/email-exchange/transport/DeployTransport'),
)
const SecurityComplianceAlerts = React.lazy(() => import('src/views/security/reports/ListAlerts'))
const License = React.lazy(() => import('src/views/pages/license/License'))
const ServiceHealth = React.lazy(() => import('src/views/tenant/administration/ServiceHealth'))

const routes = [
// { path: '/', exact: true, name: 'Home' },
Expand Down Expand Up @@ -175,12 +196,31 @@ const routes = [
name: 'Graph Explorer',
component: GraphExplorer,
},

{
path: '/tenant/administration/conditional-access-policies',
path: '/tenant/administration/service-health',
name: 'Service Health',
component: ServiceHealth,
},
{
path: '/tenant/conditional/list-policies',
name: 'Conditional Access',
component: ConditionalAccess,
},
{
path: '/tenant/conditional/deploy',
name: 'Deploy Conditional Access',
component: DeployConditional,
},
{
path: '/tenant/conditional/list-template',
name: 'Conditional Access Templates',
component: ListConditionalTemplates,
},
{
path: '/tenant/conditional/add-template',
name: 'Conditional Access add Temmplate',
component: AddConditionalTemplate,
},
{
path: '/tenant/administration/list-licenses',
name: 'List Licenses',
Expand Down Expand Up @@ -289,6 +329,26 @@ const routes = [
{ name: 'Email & Exchange', path: '/email' },
{ name: 'Email Administration', path: '/email/administration' },
{ name: 'List Contacts', path: '/email/administration/contacts', component: ContactsList },
{
path: '/email/transport/list-rules',
name: 'List Transport rules',
component: TransportRulesList,
},
{
path: '/email/transport/deploy-rules',
name: 'Deploy Transport rule',
component: TransportDeploy,
},
{
path: '/email/transport/list-templates',
name: 'Transport Rule Templates',
component: TransportTemplate,
},
{
path: '/email/transport/add-template',
name: 'Transport Rule add Temmplate',
component: AddTransportTemplate,
},
{
name: 'Edit Mailbox Permissions',
path: '/email/administration/edit-mailbox-permissions',
Expand Down
Loading

0 comments on commit 7f1b403

Please sign in to comment.