Skip to content

Commit

Permalink
Permission check for Audit Trail Actions menu in content item list (O…
Browse files Browse the repository at this point in the history
…rchardCMS#15432)

Co-authored-by: Hisham Bin Ateya <hishamco_2007@yahoo.com>
  • Loading branch information
2 people authored and urbanit committed Mar 18, 2024
1 parent 93a646c commit 0843585
Showing 1 changed file with 17 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using OrchardCore.AuditTrail;
using OrchardCore.ContentManagement;
using OrchardCore.ContentManagement.Display.ContentDisplay;
using OrchardCore.ContentManagement.Display.ViewModels;
Expand All @@ -8,10 +11,22 @@ namespace OrchardCore.Contents.AuditTrail.Drivers
{
public class AuditTrailContentsDriver : ContentDisplayDriver
{
// TODO: What permission are we looking for here?
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IAuthorizationService _authorizationService;

public AuditTrailContentsDriver(
IHttpContextAccessor httpContextAccessor,
IAuthorizationService authorizationService)
{
_httpContextAccessor = httpContextAccessor;
_authorizationService = authorizationService;
}

public override IDisplayResult Display(ContentItem contentItem, IUpdateModel updater)
{
return Initialize<ContentItemViewModel>("AuditTrailContentsAction_SummaryAdmin", m => m.ContentItem = contentItem).Location("SummaryAdmin", "ActionsMenu:10");
return Initialize<ContentItemViewModel>("AuditTrailContentsAction_SummaryAdmin", m => m.ContentItem = contentItem)
.Location("SummaryAdmin", "ActionsMenu:10")
.RenderWhen(() => _authorizationService.AuthorizeAsync(_httpContextAccessor.HttpContext?.User, AuditTrailPermissions.ViewAuditTrail));
}
}
}

0 comments on commit 0843585

Please sign in to comment.