From e2ed7a6e3a25aa5ecd9f1f4e13d0012ebf9c7ca3 Mon Sep 17 00:00:00 2001 From: Gunjan Datta Date: Fri, 21 Aug 2026 20:36:15 -0400 Subject: [PATCH 1/2] Updated the permissions to have badges. --- src/reports/permissions.ts | 105 +++++++++++++++++++++++++++++-------- 1 file changed, 84 insertions(+), 21 deletions(-) diff --git a/src/reports/permissions.ts b/src/reports/permissions.ts index e476b5d..ba5f1b0 100644 --- a/src/reports/permissions.ts +++ b/src/reports/permissions.ts @@ -543,16 +543,91 @@ export class Permissions { } }, { - name: "Everyone", - title: "Has
Everyone?" + name: "", + title: "Has
Everyone?", + onRenderCell: (el, col, item: IPermissionItem) => { + // Set the order info + el.setAttribute("data-order", item.Everyone ? "true" : "false"); + + // Make the badge display in the middle + el.style.verticalAlign = "middle"; + + // Render a badge + let badge = Components.Badge({ + el, + className: "me-2", + content: item.Everyone ? "Yes" : "No", + type: item.Everyone ? Components.BadgeTypes.Danger : Components.BadgeTypes.Secondary, + isPill: true + }); + + // See if this is overshared + if (item.Everyone) { + // Render a tooltip + Components.Tooltip({ + target: badge.el, + content: `The file has been flagged as overshared because it's shared with the Everyone group. This means that anyone in the organization can access this file.}` + }); + } + } }, { - name: "EEEU", - title: "Has
EEEU?" + name: "", + title: "Has
EEEU?", + onRenderCell: (el, col, item: IPermissionItem) => { + // Set the order info + el.setAttribute("data-order", item.EEEU ? "true" : "false"); + + // Make the badge display in the middle + el.style.verticalAlign = "middle"; + + // Render a badge + let badge = Components.Badge({ + el, + className: "me-2", + content: item.EEEU ? "Yes" : "No", + type: item.EEEU ? Components.BadgeTypes.Danger : Components.BadgeTypes.Secondary, + isPill: true + }); + + // See if this is overshared + if (item.EEEU) { + // Render a tooltip + Components.Tooltip({ + target: badge.el, + content: `The file has been flagged as overshared because it's shared with the Everyone Except External Users group. This means that all internal users can access this file.}` + }); + } + } }, { name: "Overshared", - title: "Contains
Overshared Group?" + title: "Contains
Overshared Group?", + onRenderCell: (el, col, item: IPermissionItem) => { + // Set the order info + el.setAttribute("data-order", item.EEEU ? "true" : "false"); + + // Make the badge display in the middle + el.style.verticalAlign = "middle"; + + // Render a badge + let badge = Components.Badge({ + el, + className: "me-2", + content: item.EEEU ? "Yes" : "No", + type: item.EEEU ? Components.BadgeTypes.Danger : Components.BadgeTypes.Secondary, + isPill: true + }); + + // See if this is overshared + if (item.EEEU) { + // Render a tooltip + Components.Tooltip({ + target: badge.el, + content: `The file has been flagged as overshared because it's shared with the following groups:
${item.Roles.join("
")}` + }); + } + } }, { name: "IsLimitedAccess", @@ -562,10 +637,7 @@ export class Permissions { { name: "", title: "M365
Groups", - onClickHeader: (el) => { - // Set the data type - el.setAttribute("data-type", "num"); - }, + dataAttributes: { "data-type": "num" }, onRenderCell: (el, col, item: IPermissionItem) => { // Set the value el.setAttribute("data-order", item.GroupIds.length.toString()); @@ -575,10 +647,7 @@ export class Permissions { { name: "", title: "M365
Users", - onClickHeader: (el) => { - // Set the data type - el.setAttribute("data-type", "num"); - }, + dataAttributes: { "data-type": "num" }, onRenderCell: (el, col, item: IPermissionItem) => { // Set the value el.setAttribute("data-order", item.GroupUsersCount.toString()); @@ -588,10 +657,7 @@ export class Permissions { { name: "", title: "AD
Accounts", - onClickHeader: (el) => { - // Set the data type - el.setAttribute("data-type", "num"); - }, + dataAttributes: { "data-type": "num" }, onRenderCell: (el, col, item: IPermissionItem) => { // Ensure the site members exist if (item.SiteMembers) { @@ -616,10 +682,7 @@ export class Permissions { { name: "", title: "Site
Users", - onClickHeader: (el) => { - // Set the data type - el.setAttribute("data-type", "num"); - }, + dataAttributes: { "data-type": "num" }, onRenderCell: (el, col, item: IPermissionItem) => { // Set the data type el.setAttribute("data-type", "num"); From bba15695a5f4420832a2299c750656c09053a725 Mon Sep 17 00:00:00 2001 From: Gunjan Datta Date: Fri, 21 Aug 2026 20:44:12 -0400 Subject: [PATCH 2/2] Added badges. --- src/reports/permissions.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/reports/permissions.ts b/src/reports/permissions.ts index ba5f1b0..dd0c3d3 100644 --- a/src/reports/permissions.ts +++ b/src/reports/permissions.ts @@ -601,11 +601,11 @@ export class Permissions { } }, { - name: "Overshared", + name: "", title: "Contains
Overshared Group?", onRenderCell: (el, col, item: IPermissionItem) => { // Set the order info - el.setAttribute("data-order", item.EEEU ? "true" : "false"); + el.setAttribute("data-order", item.Overshared ? "true" : "false"); // Make the badge display in the middle el.style.verticalAlign = "middle"; @@ -614,13 +614,13 @@ export class Permissions { let badge = Components.Badge({ el, className: "me-2", - content: item.EEEU ? "Yes" : "No", - type: item.EEEU ? Components.BadgeTypes.Danger : Components.BadgeTypes.Secondary, + content: item.Overshared ? "Yes" : "No", + type: item.Overshared ? Components.BadgeTypes.Danger : Components.BadgeTypes.Secondary, isPill: true }); // See if this is overshared - if (item.EEEU) { + if (item.Overshared) { // Render a tooltip Components.Tooltip({ target: badge.el,