From 5e72a5df1f1bd2b5c2b6941492322559a01f1f08 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 20 May 2025 12:19:14 +0000 Subject: [PATCH 1/2] Initial plan for issue From 0241a0850f77e2c2171a795cdd3482c08e249372 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 20 May 2025 12:21:46 +0000 Subject: [PATCH 2/2] Fix role permissions deletion in sync scheduled task Co-authored-by: davidjrh <489976+davidjrh@users.noreply.github.com> --- DotNetNuke.Authentication.Azure/ScheduledTasks/SyncSchedule.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DotNetNuke.Authentication.Azure/ScheduledTasks/SyncSchedule.cs b/DotNetNuke.Authentication.Azure/ScheduledTasks/SyncSchedule.cs index ebfca12..c68c570 100644 --- a/DotNetNuke.Authentication.Azure/ScheduledTasks/SyncSchedule.cs +++ b/DotNetNuke.Authentication.Azure/ScheduledTasks/SyncSchedule.cs @@ -206,6 +206,8 @@ internal string SyncRoles(int portalId, AzureConfig settings) { try { + // Delete object permissions associated with this role before deleting the role + DotNetNuke.Data.DataContext.Instance().Execute(System.Data.CommandType.Text, $"DELETE {DotNetNuke.Data.DataProvider.Instance().DatabaseOwner}{DotNetNuke.Data.DataProvider.Instance().ObjectQualifier}PBI_ObjectPermissions WHERE RoleID = @0", dnnRole.RoleID); RoleController.Instance.DeleteRole(dnnRole); // This is a workaround due to a bug in DNN where RoleSettings are not deleted when a role is deleted DotNetNuke.Data.DataContext.Instance().Execute(System.Data.CommandType.Text, $"DELETE {DotNetNuke.Data.DataProvider.Instance().DatabaseOwner}{DotNetNuke.Data.DataProvider.Instance().ObjectQualifier}RoleSettings WHERE RoleID = @0", dnnRole.RoleID);