From ae64d69f25e30f779c45bf2ea6ea7f06f9825ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 31 Mar 2025 20:59:23 +0200 Subject: [PATCH] Add enable/disable mailbox rule actions with confirmation prompts --- .../administration/mailbox-rules/index.js | 33 +++++++++++++++++- .../administration/users/user/exchange.jsx | 34 +++++++++++++++++-- 2 files changed, 64 insertions(+), 3 deletions(-) diff --git a/src/pages/email/administration/mailbox-rules/index.js b/src/pages/email/administration/mailbox-rules/index.js index e25ba44d8ae6..8dc0fcceb020 100644 --- a/src/pages/email/administration/mailbox-rules/index.js +++ b/src/pages/email/administration/mailbox-rules/index.js @@ -4,14 +4,45 @@ import { TrashIcon } from "@heroicons/react/24/outline"; import { getCippTranslation } from "../../../../utils/get-cipp-translation"; import { getCippFormatting } from "../../../../utils/get-cipp-formatting"; import { CippPropertyListCard } from "../../../../components/CippCards/CippPropertyListCard"; +import { Block, PlayArrow, DeleteForever } from "@mui/icons-material"; const Page = () => { const pageTitle = "Mailbox Rules"; const actions = [ + { + label: "Enable Mailbox Rule", + type: "POST", + icon: , + url: "/api/ExecSetMailboxRule", + data: { + ruleId: "Identity", + userPrincipalName: "UserPrincipalName", + ruleName: "Name", + Enable: true, + }, + condition: (row) => !row.Enabled, + confirmText: "Are you sure you want to enable this mailbox rule?", + multiPost: false, + }, + { + label: "Disable Mailbox Rule", + type: "POST", + icon: , + url: "/api/ExecSetMailboxRule", + data: { + ruleId: "Identity", + userPrincipalName: "UserPrincipalName", + ruleName: "Name", + Disable: true, + }, + condition: (row) => row.Enabled, + confirmText: "Are you sure you want to disable this mailbox rule?", + multiPost: false, + }, { label: "Remove Mailbox Rule", type: "POST", - icon: , + icon: , url: "/api/ExecRemoveMailboxRule", data: { ruleId: "Identity", userPrincipalName: "UserPrincipalName", ruleName: "Name" }, confirmText: "Are you sure you want to remove this mailbox rule?", diff --git a/src/pages/identity/administration/users/user/exchange.jsx b/src/pages/identity/administration/users/user/exchange.jsx index 136636349783..9d3c263f3b95 100644 --- a/src/pages/identity/administration/users/user/exchange.jsx +++ b/src/pages/identity/administration/users/user/exchange.jsx @@ -18,7 +18,7 @@ import CippExchangeSettingsForm from "../../../../../components/CippFormPages/Ci import { useForm } from "react-hook-form"; import { Alert, Button, Collapse, CircularProgress, Typography } from "@mui/material"; import { CippApiResults } from "../../../../../components/CippComponents/CippApiResults"; -import { TrashIcon } from "@heroicons/react/24/outline"; +import { Block, PlayArrow, DeleteForever } from "@mui/icons-material"; import { CippPropertyListCard } from "../../../../../components/CippCards/CippPropertyListCard"; import { getCippTranslation } from "../../../../../utils/get-cipp-translation"; import { getCippFormatting } from "../../../../../utils/get-cipp-formatting"; @@ -188,10 +188,40 @@ const Page = () => { ]; const mailboxRuleActions = [ + { + label: "Enable Mailbox Rule", + type: "POST", + icon: , + url: "/api/ExecSetMailboxRule", + data: { + ruleId: "Identity", + userPrincipalName: graphUserRequest.data?.[0]?.userPrincipalName, + ruleName: "Name", + Enable: true, + }, + condition: (row) => !row.Enabled, + confirmText: "Are you sure you want to enable this mailbox rule?", + multiPost: false, + }, + { + label: "Disable Mailbox Rule", + type: "POST", + icon: , + url: "/api/ExecSetMailboxRule", + data: { + ruleId: "Identity", + userPrincipalName: graphUserRequest.data?.[0]?.userPrincipalName, + ruleName: "Name", + Disable: true, + }, + condition: (row) => row.Enabled, + confirmText: "Are you sure you want to disable this mailbox rule?", + multiPost: false, + }, { label: "Remove Mailbox Rule", type: "POST", - icon: , + icon: , url: "/api/ExecRemoveMailboxRule", data: { ruleId: "Identity",