diff --git a/src/OrchardCore.Modules/OrchardCore.Contents/AuditTrail/Drivers/AuditTrailContentsDriver.cs b/src/OrchardCore.Modules/OrchardCore.Contents/AuditTrail/Drivers/AuditTrailContentsDriver.cs index 363357986b4..3288f89ac94 100644 --- a/src/OrchardCore.Modules/OrchardCore.Contents/AuditTrail/Drivers/AuditTrailContentsDriver.cs +++ b/src/OrchardCore.Modules/OrchardCore.Contents/AuditTrail/Drivers/AuditTrailContentsDriver.cs @@ -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; @@ -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("AuditTrailContentsAction_SummaryAdmin", m => m.ContentItem = contentItem).Location("SummaryAdmin", "ActionsMenu:10"); + return Initialize("AuditTrailContentsAction_SummaryAdmin", m => m.ContentItem = contentItem) + .Location("SummaryAdmin", "ActionsMenu:10") + .RenderWhen(() => _authorizationService.AuthorizeAsync(_httpContextAccessor.HttpContext?.User, AuditTrailPermissions.ViewAuditTrail)); } } }