diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml index af41440ebfc9..de839daf7a30 100644 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -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 diff --git a/.github/workflows/Close_Stale_Issues_and_PRs.yml b/.github/workflows/Close_Stale_Issues_and_PRs.yml index 7eff0bf2f619..35bd43d9f8f0 100644 --- a/.github/workflows/Close_Stale_Issues_and_PRs.yml +++ b/.github/workflows/Close_Stale_Issues_and_PRs.yml @@ -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' diff --git a/.github/workflows/Comment_on_Issues.yml b/.github/workflows/Comment_on_Issues.yml index 6bd12f6a005b..c43a6c184869 100644 --- a/.github/workflows/Comment_on_Issues.yml +++ b/.github/workflows/Comment_on_Issues.yml @@ -16,7 +16,7 @@ jobs: with: issue-number: ${{ github.event.issue.number }} body: | - Thank you for creating a bug. Please make sure your bug is indeed a unique case by checking current and past issues, and reading the complete documentation at https://kelvintegelaar.github.io/CIPP + Thank you for creating a bug. Please make sure your bug is indeed a unique case by checking current and past issues, and reading the complete documentation at https://docs.cipp.app/ If your bug is a known documentation issue, it will be closed without notice by a contributor. To confirm that this is not a bug found in the documentation, please copy and paste the following comment: "I confirm that I have checked the documentation thoroughly and believe this to be an actual bug.". Without confirming, your report will be closed in 24 hours. If you'd like this bug to be assigned to you, please comment "I would like to work on this please!". @@ -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!". diff --git a/src/components/forms/RFFComponents.js b/src/components/forms/RFFComponents.js index 5365819e6623..414a472b6c82 100644 --- a/src/components/forms/RFFComponents.js +++ b/src/components/forms/RFFComponents.js @@ -420,7 +420,7 @@ export const RFFSelectSearch = ({ isMulti={multi} /> )} - + {meta.error && meta.touched && {meta.error}} ) }} diff --git a/src/data/standards.json b/src/data/standards.json index 2db75bc38816..d85bddf66df7 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -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", @@ -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", @@ -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", @@ -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", @@ -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" }, @@ -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" }, @@ -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" }, @@ -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" }, @@ -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." }, @@ -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" }, @@ -252,7 +252,7 @@ { "cat": "AAD", "name": "standards.EnableFIDO2", - "helpText": "", + "helpText": "Enables the FIDO2 authenticationMethod for the tenant", "addedComponent": null, "label": "Enable FIDO2 capabilities" }, @@ -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)" }, @@ -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" }, @@ -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", @@ -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" }, diff --git a/src/views/cipp/CIPPSettings.js b/src/views/cipp/CIPPSettings.js index 8c46d827521f..b242ee5257cd 100644 --- a/src/views/cipp/CIPPSettings.js +++ b/src/views/cipp/CIPPSettings.js @@ -402,7 +402,7 @@ const GeneralSettings = () => { documentation on how to add permissions{' '} here @@ -416,7 +416,9 @@ const GeneralSettings = () => { )} {permissionsResult.data.Results?.MissingGroups.length > 0 && ( <> - Your SAM User is missing the following group memberships. + Your SAM User is missing the following group memberships. If you have setup + GDAP outside of CIPP, execute an access check to confirm access and role + availability to your tenants {permissionsResult.data.Results?.MissingGroups?.map((r, index) => ( {r} @@ -426,7 +428,7 @@ const GeneralSettings = () => { )} {permissionsResult.data.Results?.CIPPGroupCount == 0 && ( <> - NOTE: Your M365 GDAP groups were not set up by CIPP. Please check the groups + NOTE: Your GDAP groups were not set up by CIPP. Please check the groups below to see if you have the correct GDAP permissions, or execute an access check. @@ -452,13 +454,13 @@ const GeneralSettings = () => { <> p['@odata.type'] == '#microsoft.graph.group', )} title="Groups" /> p['@odata.type'] == '#microsoft.graph.directoryRole', )} title="Roles" diff --git a/src/views/cipp/Setup.js b/src/views/cipp/Setup.js index 82da760206e7..e8d9a33d3064 100644 --- a/src/views/cipp/Setup.js +++ b/src/views/cipp/Setup.js @@ -51,7 +51,7 @@ const Setup = () => { const valbutton = (value) => getResults.data?.step < 5 ? undefined - : `You must finish the setup process. you are currently at step ${getResults.data?.step} of 5.` + : `You do not have to click next. Finish the wizard via the setup button below. After it says "Setup Completed" you may browse away from this page.` const [genericPostRequest, postResults] = useLazyGenericPostRequestQuery() const [genericGetRequest, getResults] = useLazyGenericGetRequestQuery() const onSubmit = (values) => { @@ -159,14 +159,14 @@ const Setup = () => { 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.

- + startCIPPSetup(true)} - validate={valbutton} + validate={() => valbutton()} > Start Setup Wizard diff --git a/src/views/endpoint/intune/MEMAddPolicy.js b/src/views/endpoint/intune/MEMAddPolicy.js index f87f6b87dd2a..a564ce3d36db 100644 --- a/src/views/endpoint/intune/MEMAddPolicy.js +++ b/src/views/endpoint/intune/MEMAddPolicy.js @@ -130,7 +130,9 @@ const AddPolicy = () => {

Step 2

Enter the raw JSON for this policy. See{' '} - this for more + + this + {' '} information.
diff --git a/src/views/identity/administration/UserActions.js b/src/views/identity/administration/UserActions.js index 2a96415e0b15..774d27e481c3 100644 --- a/src/views/identity/administration/UserActions.js +++ b/src/views/identity/administration/UserActions.js @@ -31,7 +31,7 @@ export default function UserActions({ tenantDomain, userId, userEmail, className } const editLink = `/identity/administration/users/edit?tenantDomain=${tenantDomain}&userId=${userId}` - const editMailboxLink = `/email/administration/edit-mailbox-permissions?tenantDomain=${tenantDomain}&userId=${userId}` + const editMailboxLink = `/email/administration/edit-mailbox-permissions?tenantDomain=${tenantDomain}&userId=${userEmail}` const actions = [ { diff --git a/src/views/tenant/administration/GDAPWizard.js b/src/views/tenant/administration/GDAPWizard.js index 8722bde0b5f7..3c6147e7547d 100644 --- a/src/views/tenant/administration/GDAPWizard.js +++ b/src/views/tenant/administration/GDAPWizard.js @@ -54,11 +54,7 @@ const GDAPWizard = () => {
The GDAP migration tool requires setup. Please check the documentation{' '} - + here.

diff --git a/src/views/tenant/administration/ListGDAPRelationships.js b/src/views/tenant/administration/ListGDAPRelationships.js index dcba0648a907..6ee6a8cfa07c 100644 --- a/src/views/tenant/administration/ListGDAPRelationships.js +++ b/src/views/tenant/administration/ListGDAPRelationships.js @@ -163,6 +163,17 @@ const GDAPRelationships = () => { exportSelector: 'endDateTime', cell: (row) => (row['autoExtendDuration'] === 'PT0S' ? 'No' : 'Yes'), }, + { + name: 'Includes CA Role', + selector: (row) => row?.accessDetails, + sortable: true, + cell: (row) => + row?.accessDetails?.unifiedRoles?.filter( + (e) => e.roleDefinitionId === '62e90394-69f5-4237-9190-012177145e10', + ).length > 0 + ? 'Yes' + : 'No', + }, { name: 'Actions', cell: Actions, @@ -178,9 +189,17 @@ const GDAPRelationships = () => { tenantSelector={false} datatable={{ filterlist: [ - { filterName: 'Active Relationships', filter: '"status":"active"' }, - { filterName: 'Terminated Relationships', filter: '"status":"Terminated"' }, + { filterName: 'Active Relationships', filter: 'Complex: status eq active' }, + { filterName: 'Terminated Relationships', filter: 'Complex: status eq terminated' }, { filterName: 'Pending Relationships', filter: 'Pending' }, + { + filterName: 'Active with Auto Extend', + filter: 'Complex: status eq active; autoExtendDuration ne PT0S', + }, + { + filterName: 'Active without Auto Extend', + filter: 'Complex: status eq active; autoExtendDuration eq PT0S', + }, ], tableProps: { selectableRows: true, diff --git a/src/views/tenant/standards/ApplyStandard.js b/src/views/tenant/standards/ApplyStandard.js index 64d9fbf0ffce..2f84f99607ea 100644 --- a/src/views/tenant/standards/ApplyStandard.js +++ b/src/views/tenant/standards/ApplyStandard.js @@ -83,7 +83,7 @@ const ApplyStandard = () => { > Ensure you read{' '} - + the documentation fully {' '} before proceeding with this wizard. Some of the changes cannot be reverted by CIPP. diff --git a/src/views/tenant/standards/ListAppliedStandards.js b/src/views/tenant/standards/ListAppliedStandards.js index d22f03d05862..ed0c7856a40a 100644 --- a/src/views/tenant/standards/ListAppliedStandards.js +++ b/src/views/tenant/standards/ListAppliedStandards.js @@ -514,7 +514,7 @@ const ListAppliedStandards = () => { name: template.name, }))} placeholder="Select a template" - label="Choose your Transport Rule templates to apply" + label="Choose your Exchange Connector templates to apply" /> )}