Skip to content

Commit 430f796

Browse files
committed
Changing the lookup of PluginGroupPermissions, so we use the ClaimName instead of a Id, which can change from deployment to deployment, where as the ClaimName does not.
1 parent a913873 commit 430f796

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

eFormApi.BasePn/Infrastructure/Helpers/PluginPermissionsManager.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,24 @@ public async Task SetPluginGroupPermissions(ICollection<PluginGroupPermissionsLi
8383
{
8484
foreach (var permissionModel in groupPermissionModel.Permissions)
8585
{
86-
var pluginGroupPermission = await _dbContext.PluginGroupPermissions
86+
var pluginGroupPermissionResult = await _dbContext.PluginGroupPermissions
87+
.Join(_dbContext.PluginPermissions, pgp => pgp.PermissionId, p => p.Id,
88+
(pgp, p) => new { pgp.GroupId, pgp.PermissionId, pgp.WorkflowState, pgp.IsEnabled, p.ClaimName })
8789
.FirstOrDefaultAsync(pgp => pgp.GroupId == groupPermissionModel.GroupId
88-
&& pgp.PermissionId == permissionModel.PermissionId
90+
&& pgp.ClaimName == permissionModel.ClaimName
8991
&& pgp.WorkflowState != Constants.WorkflowStates.Removed);
9092

91-
if (pluginGroupPermission != null)
93+
if (pluginGroupPermissionResult != null)
9294
{
95+
var pluginGroupPermission = await _dbContext.PluginGroupPermissions
96+
.FirstAsync(x => x.GroupId == groupPermissionModel.GroupId
97+
&& x.PermissionId == pluginGroupPermissionResult.PermissionId);
9398
pluginGroupPermission.IsEnabled = permissionModel.IsEnabled;
9499
pluginGroupPermission.Update(_dbContext);
95100
}
96101
else
97102
{
98-
pluginGroupPermission = new PluginGroupPermission
103+
var pluginGroupPermission = new PluginGroupPermission
99104
{
100105
GroupId = groupPermissionModel.GroupId,
101106
PermissionId = permissionModel.PermissionId,

0 commit comments

Comments
 (0)