mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Improved handling of events whose content items were deleted or nonexistent at all.
This commit is contained in:
@@ -30,7 +30,7 @@ namespace Orchard.AuditTrail.Providers.Content {
|
||||
var previousContentItemVersionId = eventData.Get<int>("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) {
|
||||
|
@@ -4,25 +4,30 @@
|
||||
@{
|
||||
var descriptor = (AuditTrailEventDescriptor)Model.Descriptor;
|
||||
var eventData = (IDictionary<string, object>) Model.EventData;
|
||||
var eventPastTense = descriptor.Name.Text.ToLower();
|
||||
var contentItemId = (int)Model.ContentItemId;
|
||||
var contentItem = (ContentItem) Model.ContentItem;
|
||||
var eventVersionNumber = eventData.Get<int>("VersionNumber");
|
||||
var isPublishedEvent = eventData.Get<bool>("Published");
|
||||
var title = eventData.Get<string>("Title") ?? "[untitled]";
|
||||
var title = contentItem != null ? Html.ItemDisplayText(contentItem).ToString() : eventData.Get<string>("Title") ?? "[untitled]";
|
||||
}
|
||||
<section class="audittrail-content-eventsummary">
|
||||
@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 ? "<strong>" + title + "</strong>" : Html.ItemEditLink(title, contentItemId).ToString(), eventPastTense)
|
||||
}
|
||||
else if (isRemoved) {
|
||||
@T("The {0} <strong>{1}</strong> 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("<strong>Version {0}</strong> of content item with ID <strong>{1}</strong> was {2}.", eventVersionNumber, contentItemId, descriptor.Name.Text.ToLower())
|
||||
@T("<strong>Version {0}</strong> of content item <strong>{1}</strong> was {2}.", eventVersionNumber, title, eventPastTense)
|
||||
}
|
||||
</section>
|
@@ -13,15 +13,16 @@
|
||||
var eventVersionNumber = eventData.Get<int>("VersionNumber");
|
||||
var isPublishedEvent = eventData.Get<bool>("Published");
|
||||
var diffNodes = (IList<DiffNode>)Model.DiffNodes;
|
||||
var title = eventData.Get<string>("Title") ?? "[untitled]";
|
||||
var title = contentItem != null ? Html.ItemDisplayText(contentItem).ToString() : eventData.Get<string>("Title") ?? "[untitled]";
|
||||
}
|
||||
<section class="audittrail-content-eventmetadata">
|
||||
@T("ID:") <strong>@contentItemId</strong><br />
|
||||
@if (contentItem != null) {
|
||||
var isLatest = contentItem.VersionRecord.Number == eventVersionNumber;
|
||||
@(contentItem.ContentType)<text>: </text>@Html.ItemEditLink(title, contentItemId)<br />
|
||||
var isRemoved = !contentItem.VersionRecord.Latest && !contentItem.VersionRecord.Published;
|
||||
@(contentItem.ContentType)<text>: </text>if (isRemoved) {<strong>@title</strong>} else {@Html.ItemEditLink(title, contentItemId)}<br />
|
||||
if (isPublishedEvent || isLatest) {
|
||||
@Html.ActionLink(T("Version {0}", eventVersionNumber).Text, "Detail", "Content", new { area = "Orchard.AuditTrail", id = contentItem.Id, version = contentItem.Version }, null)<br />
|
||||
@Html.ActionLink(T("Version {0}", eventVersionNumber).Text, "Detail", "Content", new { area = "Orchard.AuditTrail", id = contentItem.Id, version = eventVersionNumber }, null)<br />
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
Reference in New Issue
Block a user