From 6f9a1377931d2264dd95df43f50acac164462d2e Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 1 Aug 2014 12:18:45 -0700 Subject: [PATCH] Improved handling of events whose content items were deleted or nonexistent at all. --- .../Content/ContentAuditTrailEventShapes.cs | 2 +- .../AuditTrailEvent-Content.SummaryAdmin.cshtml | 15 ++++++++++----- .../Views/AuditTrailEvent-Content.cshtml | 7 ++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/ContentAuditTrailEventShapes.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/ContentAuditTrailEventShapes.cs index 268f9f803..dd745b4ba 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/ContentAuditTrailEventShapes.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/ContentAuditTrailEventShapes.cs @@ -30,7 +30,7 @@ namespace Orchard.AuditTrail.Providers.Content { var previousContentItemVersionId = eventData.Get("PreviousVersionId"); var previousVersionXml = GetXml(eventData, "PreviousVersionXml"); var diffGram = GetXml(eventData, "DiffGram"); - var contentItem = _contentManager.Value.Get(contentItemId, VersionOptions.Latest); + var contentItem = _contentManager.Value.Get(contentItemId, VersionOptions.AllVersions); var previousVersion = previousContentItemVersionId > 0 ? _contentManager.Value.Get(contentItemId, VersionOptions.VersionRecord(previousContentItemVersionId)) : default(ContentItem); if (diffGram != null) { diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/AuditTrailEvent-Content.SummaryAdmin.cshtml b/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/AuditTrailEvent-Content.SummaryAdmin.cshtml index 8a1d5c3bd..530e82f03 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/AuditTrailEvent-Content.SummaryAdmin.cshtml +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/AuditTrailEvent-Content.SummaryAdmin.cshtml @@ -4,25 +4,30 @@ @{ var descriptor = (AuditTrailEventDescriptor)Model.Descriptor; var eventData = (IDictionary) Model.EventData; + var eventPastTense = descriptor.Name.Text.ToLower(); var contentItemId = (int)Model.ContentItemId; var contentItem = (ContentItem) Model.ContentItem; var eventVersionNumber = eventData.Get("VersionNumber"); var isPublishedEvent = eventData.Get("Published"); - var title = eventData.Get("Title") ?? "[untitled]"; + var title = contentItem != null ? Html.ItemDisplayText(contentItem).ToString() : eventData.Get("Title") ?? "[untitled]"; }
@if (contentItem != null) { var contentType = contentItem.ContentType; - var isLatest = contentItem.VersionRecord.Number == eventVersionNumber; + var isLatest = contentItem.VersionRecord.Number == eventVersionNumber; + var isRemoved = !contentItem.VersionRecord.Latest && !contentItem.VersionRecord.Published; if (isPublishedEvent || isLatest) { - @T("{0} of the {1} {2} was {3}.", Html.ActionLink(T("Version {0}", eventVersionNumber).Text, "Detail", "Content", new { area = "Orchard.AuditTrail", id = contentItemId, version = eventVersionNumber }, null), contentType.ToLower(), Html.ItemEditLink(title, contentItemId), descriptor.Name.Text.ToLower()) + @T("{0} of the {1} {2} was {3}.", Html.ActionLink(T("Version {0}", eventVersionNumber).Text, "Detail", "Content", new { area = "Orchard.AuditTrail", id = contentItemId, version = eventVersionNumber }, null), contentType.ToLower(), isRemoved ? "" + title + "" : Html.ItemEditLink(title, contentItemId).ToString(), eventPastTense) + } + else if (isRemoved) { + @T("The {0} {1} was {2}.", contentType.ToLower(), title, eventPastTense) } else { - @T("The {0} {1} was {2}.", contentType.ToLower(), Html.ItemEditLink(title, contentItemId), descriptor.Name.Text.ToLower()) + @T("The {0} {1} was {2}.", contentType.ToLower(), Html.ItemEditLink(title, contentItemId), eventPastTense) } } else { - @T("Version {0} of content item with ID {1} was {2}.", eventVersionNumber, contentItemId, descriptor.Name.Text.ToLower()) + @T("Version {0} of content item {1} was {2}.", eventVersionNumber, title, eventPastTense) }
\ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/AuditTrailEvent-Content.cshtml b/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/AuditTrailEvent-Content.cshtml index 185a198d4..ec195a703 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/AuditTrailEvent-Content.cshtml +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/AuditTrailEvent-Content.cshtml @@ -13,15 +13,16 @@ var eventVersionNumber = eventData.Get("VersionNumber"); var isPublishedEvent = eventData.Get("Published"); var diffNodes = (IList)Model.DiffNodes; - var title = eventData.Get("Title") ?? "[untitled]"; + var title = contentItem != null ? Html.ItemDisplayText(contentItem).ToString() : eventData.Get("Title") ?? "[untitled]"; }