Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,23 @@ page 9855 "Permission Set"
AboutTitle = 'About view all permissions';
AboutText = 'View all permissions gives you the big picture. It opens a flat list of the permissions in the set you''re working with and all added sets';
}
action("Where-Used")
{
ApplicationArea = All;
Promoted = true;
PromotedOnly = true;
PromotedCategory = Process;
Image = Track;
Caption = 'Where-Used';
ToolTip = 'View where this permission set is used, including which users and security groups have been assigned with it.';

trigger OnAction()
var
PermissionsOverviewCU: Codeunit "Permissions Overview";
begin
PermissionsOverviewCU.OpenForPermissionSet(Rec."Role ID");
end;
}
group("Record Permissions")
{
Caption = 'Record Permissions';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace System.Security.AccessControl;

/// <summary>
/// Provides procedures to open the Permissions Overview page with optional filters.
/// Raises integration events that allow the hosting application to handle the navigation.
/// </summary>
codeunit 9865 "Permissions Overview"
{
Access = Public;

/// <summary>
/// Opens the Permissions Overview page without any filters.
/// </summary>
procedure Open()
begin
OnOpenPermissionsOverview();
end;

/// <summary>
/// Opens the Permissions Overview page filtered to a specific permission set (Where-Used).
/// </summary>
/// <param name="RoleID">The Role ID of the permission set to filter on.</param>
procedure OpenForPermissionSet(RoleID: Text[30])
begin
OnOpenPermissionsOverviewForPermissionSet(RoleID);
end;

/// <summary>
/// Opens the Permissions Overview page filtered to a specific table.
/// </summary>
/// <param name="TableNo">The table number to filter on.</param>
procedure OpenForTable(TableNo: Integer)
begin
OnOpenPermissionsOverviewForTable(TableNo);
end;

/// <summary>
/// Raised when the Permissions Overview page should be opened without filters.
/// </summary>
[IntegrationEvent(false, false)]
internal procedure OnOpenPermissionsOverview()
begin
end;

/// <summary>
/// Raised when the Permissions Overview page should be opened filtered to a permission set.
/// </summary>
/// <param name="RoleID">The Role ID to filter on.</param>
[IntegrationEvent(false, false)]
internal procedure OnOpenPermissionsOverviewForPermissionSet(RoleID: Text[30])
begin
end;

/// <summary>
/// Raised when the Permissions Overview page should be opened filtered to a table.
/// </summary>
/// <param name="TableNo">The table number to filter on.</param>
[IntegrationEvent(false, false)]
internal procedure OnOpenPermissionsOverviewForTable(TableNo: Integer)
begin
end;
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ permissionset 9862 "Permission Sets - Objects"
Assignable = false;
Permissions =
codeunit "Permission Set Relation" = X,
codeunit "Permissions Overview" = X,
codeunit "Log Activity Permissions" = X,
page "Expanded Permissions" = X,
page "Expanded Permissions Factbox" = X,
Expand Down
6 changes: 6 additions & 0 deletions src/System Application/App/Table Information/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@
"name": "User Permissions",
"publisher": "Microsoft",
"version": "29.0.0.0"
},
{
"id": "4992eeac-2fd3-4515-a50b-7336a332d47f",
"name": "Permission Sets",
"publisher": "Microsoft",
"version": "29.0.0.0"
}
],
"screenshots": [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ namespace System.DataAdministration;
using System.Diagnostics;
using System.Environment;
using System.Reflection;
using System.Security.AccessControl;
using System.Security.User;

/// <summary>
Expand Down Expand Up @@ -113,6 +114,28 @@ page 8700 "Table Information"
}
}

actions
{
area(Navigation)
{
action("View Table Permissions")
{
ApplicationArea = All;
Caption = 'View Table Permissions';
Image = Permission;
Scope = Repeater;
ToolTip = 'View an overview of permissions that apply to this table across all permission sets.';

trigger OnAction()
var
PermissionsOverviewCU: Codeunit "Permissions Overview";
begin
PermissionsOverviewCU.OpenForTable(Rec."Table No.");
end;
}
}
}

trigger OnInit()
var
UserPermissions: Codeunit "User Permissions";
Expand Down
Loading