#165: Added short event name for sorting purposes.

This commit is contained in:
Sipke Schoorstra
2014-07-12 12:42:08 -07:00
parent 279f89f748
commit be3fe746ac
8 changed files with 17 additions and 19 deletions

View File

@@ -42,7 +42,7 @@ namespace Orchard.AuditTrail.Controllers {
var eventDescriptors = eventDescriptorsQuery.ToDictionary(x => x.Event);
var recordViewModelsQuery =
from record in pageOfData
let descriptor = eventDescriptors.ContainsKey(record.Event) ? eventDescriptors[record.Event] : default(AuditTrailEventDescriptor)
let descriptor = eventDescriptors.ContainsKey(record.FullEventName) ? eventDescriptors[record.FullEventName] : default(AuditTrailEventDescriptor)
where descriptor != null
select new AuditTrailEventSummaryViewModel {
Record = record,
@@ -66,7 +66,7 @@ namespace Orchard.AuditTrail.Controllers {
return new HttpUnauthorizedResult();
var record = _auditTrailManager.GetRecord(id);
var descriptor = _auditTrailManager.DescribeEvent(record.Event);
var descriptor = _auditTrailManager.DescribeEvent(record.FullEventName);
var detailsShape = _displayBuilder.BuildDisplay(record, "Detail");
var viewModel = new AuditTrailDetailsViewModel {
Record = record,

View File

@@ -1,10 +1,8 @@
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Orchard.AuditTrail.Models;
using Orchard.AuditTrail.Providers.Content;
using Orchard.AuditTrail.Services;
using Orchard.AuditTrail.Services.Models;
using Orchard.AuditTrail.Settings;
using Orchard.AuditTrail.ViewModels;
using Orchard.ContentManagement;
@@ -53,7 +51,7 @@ namespace Orchard.AuditTrail.Drivers {
from e in c.Events
select e;
var recordViewModels = from record in pageOfData
let descriptor = eventDescriptors.FirstOrDefault(x => x.Event == record.Event)
let descriptor = eventDescriptors.FirstOrDefault(x => x.Event == record.FullEventName)
where descriptor != null
select new AuditTrailEventSummaryViewModel {
Record = record,

View File

@@ -35,7 +35,8 @@ namespace Orchard.AuditTrail.ImportExport {
foreach (var record in records) {
root.Add(new XElement("Event",
CreateAttribute("Name", record.Event),
CreateAttribute("Name", record.EventName),
CreateAttribute("FullName", record.FullEventName),
CreateAttribute("Category", record.Category),
CreateAttribute("User", record.UserName),
CreateAttribute("CreatedUtc", record.CreatedUtc),

View File

@@ -22,7 +22,8 @@ namespace Orchard.AuditTrail.ImportExport {
foreach (var eventElement in recipeContext.RecipeStep.Step.Elements()) {
var record = new AuditTrailEventRecord {
Event = eventElement.Attr<string>("Name"),
EventName = eventElement.Attr<string>("Name"),
FullEventName = eventElement.Attr<string>("FullName"),
Category = eventElement.Attr<string>("Category"),
UserName = eventElement.Attr<string>("User"),
CreatedUtc = eventElement.Attr<DateTime>("CreatedUtc"),

View File

@@ -10,7 +10,8 @@ namespace Orchard.AuditTrail {
.Column<int>("Id", c => c.PrimaryKey().Identity())
.Column<DateTime>("CreatedUtc")
.Column<string>("UserName", c => c.WithLength(64))
.Column<string>("Event", c => c.WithLength(256))
.Column<string>("EventName", c => c.WithLength(128))
.Column<string>("FullEventName", c => c.WithLength(512))
.Column<string>("Category", c => c.WithLength(64))
.Column<int>("ContentItemVersion_Id")
.Column<string>("EventData", c => c.Unlimited())

View File

@@ -5,7 +5,8 @@ namespace Orchard.AuditTrail.Models {
public virtual int Id { get; set; }
public virtual DateTime CreatedUtc { get; set; }
public virtual string UserName { get; set; }
public virtual string Event { get; set; }
public virtual string EventName { get; set; }
public virtual string FullEventName { get; set; }
public virtual string Category { get; set; }
public virtual string EventData { get; set; }
public virtual string EventFilterKey { get; set; }

View File

@@ -18,21 +18,16 @@ namespace Orchard.AuditTrail.Services {
public dynamic BuildDisplay(AuditTrailEventRecord record, string displayType) {
var eventData = _serializer.Deserialize(record.EventData);
var descriptor = _auditTrailManager.DescribeEvent(record.Event);
var descriptor = _auditTrailManager.DescribeEvent(record.FullEventName);
var auditTrailEventShape = New.AuditTrailEvent(Record: record, EventData: eventData, Descriptor: descriptor);
var metaData = (ShapeMetadata)auditTrailEventShape.Metadata;
metaData.DisplayType = displayType;
metaData.Alternates.Add(String.Format("AuditTrailEvent_{0}", displayType));
metaData.Alternates.Add(String.Format("AuditTrailEvent__{0}", record.Category));
metaData.Alternates.Add(String.Format("AuditTrailEvent_{0}__{1}", displayType, record.Category));
metaData.Alternates.Add(String.Format("AuditTrailEvent__{0}__{1}", record.Category, GetShortEventName(record.Event)));
metaData.Alternates.Add(String.Format("AuditTrailEvent_{0}__{1}__{2}", displayType, record.Category, GetShortEventName(record.Event)));
metaData.Alternates.Add(String.Format("AuditTrailEvent__{0}__{1}", record.Category, record.EventName));
metaData.Alternates.Add(String.Format("AuditTrailEvent_{0}__{1}__{2}", displayType, record.Category, record.EventName));
return auditTrailEventShape;
}
private string GetShortEventName(string fullyQualifiedEventName) {
var index = fullyQualifiedEventName.LastIndexOf('.') + 1;
return fullyQualifiedEventName.Substring(index);
}
}
}

View File

@@ -73,7 +73,7 @@ namespace Orchard.AuditTrail.Services {
switch (orderBy) {
case AuditTrailOrderBy.EventAscending:
query = query.OrderBy(x => x.Event).ThenByDescending(x => x.Id);
query = query.OrderBy(x => x.EventName).ThenByDescending(x => x.Id);
break;
case AuditTrailOrderBy.CategoryAscending:
query = query.OrderBy(x => x.Category).ThenByDescending(x => x.Id);
@@ -139,7 +139,8 @@ namespace Orchard.AuditTrail.Services {
var record = new AuditTrailEventRecord {
Category = eventDescriptor.CategoryDescriptor.Category,
Event = eventDescriptor.Event,
EventName = eventName,
FullEventName = eventDescriptor.Event,
CreatedUtc = _clock.UtcNow,
UserName = user != null ? user.UserName : null,
EventData = _serializer.Serialize(context.EventData),