#191: Fixed display of content part field settings change event. Cleaned up and refactored audit trail event summary views and corresponding CSS.

This commit is contained in:
Daniel Stolt
2014-07-20 17:59:01 +02:00
parent 15bdcadd4f
commit 1fd8cd2580
38 changed files with 118 additions and 98 deletions

View File

@@ -84,7 +84,7 @@
<Content Include="Styles\audittrail-display.css" />
<Content Include="Styles\audittrail-disabledcontent.css" />
<Content Include="Styles\audittrail-part.css" />
<Content Include="Styles\audittrail-contenttype-event.css" />
<Content Include="Styles\audittrail-contentdefinition-event.css" />
<Content Include="Styles\audittrail-settings-event.css" />
<Content Include="Styles\audittrail-settings.css" />
<Content Include="Styles\menu.audit-trail-admin.css" />
@@ -140,6 +140,7 @@
<Content Include="Views\AuditTrailEvent-Role-UserAdded.cshtml" />
<Content Include="Views\AuditTrailEvent-Role-UserRemoved.cshtml" />
<Content Include="Views\AuditTrailEvent-ContentPart-DescriptionChanged.cshtml" />
<Content Include="Views\AuditTrailEvent-ContentPart-FieldSettingsUpdated.SummaryAdmin.cshtml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Orchard\Orchard.Framework.csproj">

View File

@@ -0,0 +1,22 @@
section.audittrail-contenttype-eventsummary table.items,
section.audittrail-contentpart-eventsummary table.items {
width: auto;
min-width: 600px;
margin: 0;
}
section.audittrail-contenttype-eventsummary table.items thead th,
section.audittrail-contentpart-eventsummary table.items thead th {
font-weight: bold;
}
section.audittrail-contenttype-eventsummary ul,
section.audittrail-contentpart-eventsummary ul {
list-style-type: square;
margin-left: 1.5em;
}
section.audittrail-contenttype-eventsummary ul li,
section.audittrail-contentpart-eventsummary ul li {
padding-left: 0.5em;
}

View File

@@ -1,26 +0,0 @@
section.audittrail-contenttype-event h2 strong {
font-weight: normal;
}
section.audittrail-contenttype-event table.items {
width: auto;
-moz-min-width: 600px;
-ms-min-width: 600px;
-o-min-width: 600px;
-webkit-min-width: 600px;
min-width: 600px;
margin: 0;
}
section.audittrail-contenttype-event table.items thead th {
font-weight: bold;
}
section.audittrail-contenttype-event ul {
list-style-type: square;
margin-left: 1.5em;
}
section.audittrail-contenttype-event ul li {
padding-left: 0.5em;
}

View File

@@ -1,9 +1,9 @@
section.audittrail-settings-event table.audittrail-events {
section.audittrail-settings-eventsummary table.audittrail-events {
width: auto;
margin: 0;
}
section.audittrail-settings-event tbody.audittrail-category tr th {
section.audittrail-settings-eventsummary tbody.audittrail-category tr th {
background-color: #ebebeb;
font-size: 1.1em;
font-weight: bold;

View File

@@ -3,6 +3,6 @@
var diff = (IList<AuditTrailEventDescriptorSettingViewModel>)Model.Diff;
var descriptions = String.Join("<br/>", diff.Select(x => T("The <strong>{0}</strong> event in category <strong>{1}</strong> was <strong>{2}</strong>.", x.Descriptor.Name, x.Descriptor.CategoryDescriptor.Name, x.Setting.IsEnabled ? "enabled" : "disabled").Text));
}
<section>
<section class="audittrail-settings-eventsummary">
@Html.Raw(descriptions)
</section>

View File

@@ -6,7 +6,7 @@
var diff = (IList<AuditTrailEventDescriptorSettingViewModel>)Model.Diff;
var groups = diff.GroupBy(x => x.Descriptor.CategoryDescriptor.Name).OrderBy(x => x.Key.Text);
}
<section class="audittrail-settings-event">
<section class="audittrail-settings-eventsummary">
<table class="audittrail-events items">
<thead>
<tr>

View File

@@ -6,8 +6,7 @@
var oldMinimumRunInterval = eventData.Get<int>("OldMinimumRunInterval");
var newMinimumRunInterval = eventData.Get<int>("NewMinimumRunInterval");
}
<section class="audittrail-settings-summary">
<section class="audittrail-settings-eventsummary">
@if (newRetentionPeriod != oldRetentionPeriod) {
<div>@T("The trimming retention period was changed from <strong>{0}</strong> to <strong>{1}</strong>.", T.Plural("1 day", "{0} days", oldRetentionPeriod), T.Plural("1 day", "{0} days", newRetentionPeriod))</div>
}

View File

@@ -5,8 +5,7 @@
var contentItemVersionNumber = eventData.Get<int>("VersionNumber");
var isPublished = eventData.Get<bool>("Published");
}
<section class="audittrail-content-summary">
<section class="audittrail-content-eventsummary">
@T("Version {0}", contentItemVersionNumber)
@T(" - ")
<a href="@Url.Action("Detail", "Content", new {area = "Orchard.AuditTrail", id = contentItemId, version = contentItemVersionNumber})">@T("View")</a>

View File

@@ -11,7 +11,7 @@
return String.IsNullOrWhiteSpace(value) ? T("<empty>").Text : value;
}
}
<section class="audittrail-event-metadata-section">
<section class="audittrail-content-eventmetadata">
@T("ID:") <strong>@contentItem.Id</strong><br />
@contentItem.ContentType: <strong>@Html.ItemDisplayText(contentItem)</strong><br />
@T("Version:") <strong>@contentItem.Version</strong>
@@ -21,8 +21,7 @@
@record.Comment
}
</section>
<section class="audittrail-event-changes-section">
<section class="audittrail-content-eventsummary">
@if (diffNodes != null) {
<table class="items">
<thead>

View File

@@ -3,7 +3,6 @@
var eventData = (IDictionary<string, object>) Model.EventData;
var contentPartName = eventData.Get<string>("ContentPartName");
}
<section class="audittrail-contentpart-summary">
<section class="audittrail-contentpart-eventsummary">
@T("The content part <strong>{0}</strong> was created.", contentPartName)
</section>

View File

@@ -5,7 +5,6 @@
var oldDescription = eventData.Get<string>("OldDescription");
var newDescription = eventData.Get<string>("NewDescription");
}
<section class="audittrail-contentpart-summary">
<section class="audittrail-contentpart-eventsummary">
@T("The description of content part <strong>{0}</strong> was changed from <strong>{1}</strong> to <strong>{2}</strong>.", contentPartName, oldDescription.OrIfEmpty(T("[Empty]")), newDescription.OrIfEmpty(T("[Empty]")))
</section>

View File

@@ -6,7 +6,6 @@
var contentFieldTypeName = eventData.Get<string>("ContentFieldTypeName");
var contentDisplayName = eventData.Get<string>("ContentDisplayName");
}
<section class="audittrail-contentpart-summary">
<section class="audittrail-contentpart-eventsummary">
@T("The content field <strong>{0}</strong> of type <strong>{1}</strong> was added to the content part <strong>{2}</strong>.", contentFieldName, contentFieldTypeName, contentPartName)
</section>

View File

@@ -4,7 +4,6 @@
var contentPartName = eventData.Get<string>("ContentPartName");
var contentFieldName = eventData.Get<string>("ContentFieldName");
}
<section class="audittrail-contentpart-summary">
<section class="audittrail-contentpart-eventsummary">
@T("The content field <strong>{0}</strong> was removed from the content part <strong>{1}</strong>.", contentFieldName, contentPartName)
</section>

View File

@@ -0,0 +1,23 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>)Model.EventData;
var contentPartName = eventData.Get<string>("ContentPartName");
var contentFieldName = eventData.Get<string>("ContentFieldName");
var oldDisplayName = (string)Model.OldDisplayName;
var newDisplayName = (string)Model.NewDisplayName;
var diff = (DiffDictionary<string, string>)Model.Diff;
}
<section class="audittrail-contentpart-eventsummary">
@T("Settings for the field <strong>{0}</strong> attached to the <strong>{1}</strong> content type were updated:", contentFieldName, contentPartName)
<ul>
@foreach (var setting in diff) {
<li>
@T("<strong>{0}</strong> was changed from <strong>{1}</strong> to <strong>{2}</strong>.", setting.Key, setting.Value.OldValue.OrIfEmpty(T("[Empty]")), setting.Value.NewValue.OrIfEmpty(T("[Empty]")))
</li>
}
</ul>
</section>

View File

@@ -1,12 +1,34 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
var eventData = (IDictionary<string, object>) Model.EventData;
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>)Model.EventData;
var contentPartName = eventData.Get<string>("ContentPartName");
var contentFieldName = eventData.Get<string>("ContentFieldName");
var oldDisplayName = (string)Model.OldDisplayName;
var newDisplayName = (string)Model.NewDisplayName;
var diff = (DiffDictionary<string, string>)Model.Diff;
}
<section class="audittrail-contentpart-summary">
@T("The content field <strong>{0}</strong> of the content part <strong>{1}</strong> was renamed from <strong>{2}</strong> to <strong>{3}</strong>.", contentFieldName, contentPartName, oldDisplayName, newDisplayName)
<section class="audittrail-contentpart-eventsummary">
@T("Settings for the field <strong>{0}</strong> attached to the <strong>{1}</strong> content type were updated:", contentFieldName, contentPartName)
<table class="items">
<thead>
<tr>
<th>@T("Setting")</th>
<th>@T("From")</th>
<th>@T("To")</th>
</tr>
</thead>
<tbody class="audittrail-category">
@foreach (var setting in diff) {
<tr>
<td>@setting.Key</td>
<td>@setting.Value.OldValue.OrIfEmpty(T("[Empty]"))</td>
<td>@setting.Value.NewValue.OrIfEmpty(T("[Empty]"))</td>
</tr>
}
</tbody>
</table>
</section>

View File

@@ -1,14 +1,14 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contenttype-event.css");
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>)Model.EventData;
var contentPartName = eventData.Get<string>("ContentPartName");
var diff = (DiffDictionary<string, string>)Model.Diff;
}
<section class="audittrail-contenttype-event">
<section class="audittrail-contentpart-eventsummary">
@T("Settings for the content part <strong>{0}</strong> were changed:", contentPartName)
<ul>
@foreach (var setting in diff) {

View File

@@ -1,14 +1,14 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contenttype-event.css");
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>)Model.EventData;
var contentPartName = eventData.Get<string>("ContentPartName");
var diff = (DiffDictionary<string, string>)Model.Diff;
}
<section class="audittrail-contenttype-event">
<section class="audittrail-contentpart-eventsummary">
@T("Settings for the content part <strong>{0}</strong> were changed:", contentPartName)
<table class="items">
<thead>

View File

@@ -3,7 +3,6 @@
var eventData = (IDictionary<string, object>) Model.EventData;
var contentPartName = eventData.Get<string>("ContentPartName");
}
<section class="audittrail-contentpart-summary">
<section class="audittrail-contentpart-eventsummary">
@T("The content part <strong>{0}</strong> was removed.", contentPartName)
</section>

View File

@@ -4,7 +4,6 @@
var contentTypeName = eventData.Get<string>("ContentTypeName");
var contentTypeDisplayName = eventData.Get<string>("ContentTypeDisplayName");
}
<section class="audittrail-contenttype-summary">
<section class="audittrail-contenttype-eventsummary">
@T("The content type <strong>{0}</strong> was created.", contentTypeName)
</section>

View File

@@ -1,7 +1,7 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contenttype-event.css");
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>) Model.EventData;
@@ -10,9 +10,9 @@
var contentFieldName = eventData.Get<string>("ContentFieldName");
var diff = (DiffDictionary<string, string>)Model.Diff;
var isImplicitPart = contentTypeName == contentPartName;
var captionTemplate = isImplicitPart ? "Settings for the field <strong>{0}</strong> attached to the <strong>{1}</strong> content type were updated:" : "Settings for the field <strong>{0}</strong> attached to content part <strong>{1}</strong> of the content type <strong>{2}</strong> were updated:";
var captionTemplate = isImplicitPart ? "Settings for the field <strong>{0}</strong> attached to the content type <strong>{1}</strong> were updated:" : "Settings for the field <strong>{0}</strong> attached to content part <strong>{1}</strong> of the content type <strong>{2}</strong> were updated:";
}
<section class="audittrail-contenttype-event">
<section class="audittrail-contenttype-eventsummary">
@T(captionTemplate, contentFieldName, contentPartName, contentTypeName)
<ul>
@foreach (var setting in diff) {

View File

@@ -1,7 +1,7 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contenttype-event.css");
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>) Model.EventData;
@@ -10,9 +10,9 @@
var contentFieldName = eventData.Get<string>("ContentFieldName");
var diff = (DiffDictionary<string, string>)Model.Diff;
var isImplicitPart = contentTypeName == contentPartName;
var captionTemplate = isImplicitPart ? "Settings for the field <strong>{0}</strong> attached to the <strong>{1}</strong> content type were updated:" : "Settings for the field <strong>{0}</strong> attached to content part <strong>{1}</strong> of the content type <strong>{2}</strong> were updated:";
var captionTemplate = isImplicitPart ? "Settings for the field <strong>{0}</strong> attached to the content type <strong>{1}</strong> were updated:" : "Settings for the field <strong>{0}</strong> attached to content part <strong>{1}</strong> of the content type <strong>{2}</strong> were updated:";
}
<section class="audittrail-contenttype-event">
<section class="audittrail-contenttype-eventsummary">
@T(captionTemplate, contentFieldName, contentPartName, contentTypeName)
<table class="items">
<thead>

View File

@@ -4,7 +4,6 @@
var contentTypeName = eventData.Get<string>("ContentTypeName");
var contentPartName = eventData.Get<string>("ContentPartName");
}
<section class="audittrail-contenttype-summary">
<section class="audittrail-contenttype-eventsummary">
@T("The content part <strong>{0}</strong> was added to the content type <strong>{1}</strong>.", contentPartName, contentTypeName)
</section>

View File

@@ -4,7 +4,6 @@
var contentTypeName = eventData.Get<string>("ContentTypeName");
var contentPartName = eventData.Get<string>("ContentPartName");
}
<section class="audittrail-contenttype-summary">
<section class="audittrail-contenttype-eventsummary">
@T("The content part <strong>{0}</strong> was removed from the content type <strong>{1}</strong>.", contentPartName, contentTypeName)
</section>

View File

@@ -1,7 +1,7 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contenttype-event.css");
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>) Model.EventData;
@@ -9,7 +9,7 @@
var contentPartName = eventData.Get<string>("ContentPartName");
var diff = (DiffDictionary<string, string>)Model.Diff;
}
<section class="audittrail-contenttype-event">
<section class="audittrail-contenttype-eventsummary">
@T("Settings for the content part <strong>{0}</strong> attached to the content type <strong>{1}</strong> were changed:", contentPartName, contentTypeName)
<ul>
@foreach (var setting in diff) {

View File

@@ -1,7 +1,7 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contenttype-event.css");
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>) Model.EventData;
@@ -9,7 +9,7 @@
var contentPartName = eventData.Get<string>("ContentPartName");
var diff = (DiffDictionary<string, string>)Model.Diff;
}
<section class="audittrail-contenttype-event">
<section class="audittrail-contenttype-eventsummary">
@T("Settings for the content part <strong>{0}</strong> attached to the content type <strong>{1}</strong> were changed:", contentPartName, contentTypeName)
<table class="items">
<thead>

View File

@@ -4,7 +4,6 @@
var contentTypeName = eventData.Get<string>("ContentTypeName");
var contentTypeDisplayName = eventData.Get<string>("ContentTypeDisplayName");
}
<section class="audittrail-contenttype-summary">
<section class="audittrail-contenttype-eventsummary">
@T("The content type <strong>{0}</strong> was removed.", contentTypeName)
</section>

View File

@@ -5,7 +5,6 @@
var oldDisplayName = eventData.Get<string>("OldDisplayName");
var newDisplayName = eventData.Get<string>("NewDisplayName");
}
<section>
<section class="audittrail-contenttype-eventsummary">
@T("The display name for the content type <strong>{0}</strong> was changed from <strong>{1}</strong> to <strong>{2}</strong>.", contentTypeName, oldDisplayName.OrIfEmpty(T("[Empty]")), newDisplayName.OrIfEmpty(T("[Empty]")))
</section>

View File

@@ -1,14 +1,14 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contenttype-event.css");
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>) Model.EventData;
var contentTypeName = eventData.Get<string>("ContentTypeName");
var diff = (DiffDictionary<string, string>) Model.Diff;
}
<section class="audittrail-contenttype-event">
<section class="audittrail-contenttype-eventsummary">
@T("Settings for the content type <strong>{0}</strong> were changed:", contentTypeName)
<ul>
@foreach (var setting in diff) {

View File

@@ -1,14 +1,14 @@
@using Orchard.AuditTrail.Helpers
@using Orchard.AuditTrail.Services.Models
@{
Style.Include("audittrail-contenttype-event.css");
Style.Include("audittrail-contentdefinition-event.css");
}
@{
var eventData = (IDictionary<string, object>) Model.EventData;
var contentTypeName = eventData.Get<string>("ContentTypeName");
var diff = (DiffDictionary<string, string>) Model.Diff;
}
<section class="audittrail-contenttype-event">
<section class="audittrail-contenttype-eventsummary">
@T("Settings for the content type <strong>{0}</strong> were changed:", contentTypeName)
<table class="items">
<thead>

View File

@@ -3,7 +3,6 @@
var eventData = (IDictionary<string, object>) Model.EventData;
var roleName = eventData.Get<string>("RoleName");
}
<section class="audittrail-role-summary">
<section class="audittrail-role-eventsummary">
@T("The role <strong>{0}</strong> was created.", roleName)
</section>

View File

@@ -4,7 +4,6 @@
var roleName = eventData.Get<string>("RoleName");
var permissionName = eventData.Get<string>("PermissionName");
}
<section class="audittrail-role-summary">
<section class="audittrail-role-eventsummary">
@T("The permission <strong>{0}</strong> was added to the role <strong>{1}</strong>.", permissionName, roleName)
</section>

View File

@@ -4,7 +4,6 @@
var roleName = eventData.Get<string>("RoleName");
var permissionName = eventData.Get<string>("PermissionName");
}
<section class="audittrail-role-summary">
<section class="audittrail-role-eventsummary">
@T("The permission <strong>{0}</strong> was removed from the role <strong>{1}</strong>.", permissionName, roleName)
</section>

View File

@@ -3,7 +3,6 @@
var eventData = (IDictionary<string, object>) Model.EventData;
var roleName = eventData.Get<string>("RoleName");
}
<section class="audittrail-role-summary">
<section class="audittrail-role-eventsummary">
@T("The role <strong>{0}</strong> was removed.", roleName)
</section>

View File

@@ -4,7 +4,6 @@
var previousRoleName = eventData.Get<string>("PreviousRoleName");
var newRoleName = eventData.Get<string>("NewRoleName");
}
<section class="audittrail-role-summary">
<section class="audittrail-role-eventsummary">
@T("The role <strong>{0}</strong> was renamed to <strong>{1}</strong>.", previousRoleName, newRoleName)
</section>

View File

@@ -4,7 +4,6 @@
var roleName = eventData.Get<string>("RoleName");
var userName = eventData.Get<string>("UserName");
}
<section class="audittrail-role-summary">
<section class="audittrail-role-eventsummary">
@T("The user <strong>{0}</strong> was added to the role <strong>{1}</strong>.", userName, roleName)
</section>

View File

@@ -4,7 +4,6 @@
var roleName = eventData.Get<string>("RoleName");
var userName = eventData.Get<string>("UserName");
}
<section class="audittrail-role-summary">
<section class="audittrail-role-eventsummary">
@T("The user <strong>{0}</strong> was removed from the role <strong>{1}</strong>.", userName, roleName)
</section>

View File

@@ -3,7 +3,6 @@
var eventData = (IDictionary<string, object>) Model.EventData;
var userName = eventData.Get<string>("UserName");
}
<section class="audittrail-user-summary">
<section class="audittrail-user-eventsummary">
@T("Attempted user name: <strong>{0}</strong>", userName)
</section>

View File

@@ -3,7 +3,6 @@
var eventData = (IDictionary<string, object>) Model.EventData;
var userName = eventData.Get<string>("UserName");
}
<section class="audittrail-user-summary">
<section class="audittrail-user-eventsummary">
@T("User name: <strong>{0}</strong>", userName)
</section>