diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Controllers/ContentController.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Controllers/ContentController.cs index c3dfcf16f..6ae87c618 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Controllers/ContentController.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Controllers/ContentController.cs @@ -1,4 +1,5 @@ using System.Web.Mvc; +using Orchard.AuditTrail.Models; using Orchard.ContentManagement; using Orchard.Security; using Orchard.UI.Admin; @@ -19,6 +20,12 @@ namespace Orchard.AuditTrail.Controllers { if (!_authorizer.Authorize(Core.Contents.Permissions.ViewContent, contentItem)) return new HttpUnauthorizedResult(); + var auditTrailPart = contentItem.As(); + + if (auditTrailPart != null) { + auditTrailPart.ShowComment = true; + } + var editor = _contentManager.BuildEditor(contentItem); return View(editor); } diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Drivers/AuditTrailPartDriver.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Drivers/AuditTrailPartDriver.cs index 5046b9425..9dddc12a9 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Drivers/AuditTrailPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Drivers/AuditTrailPartDriver.cs @@ -32,10 +32,18 @@ namespace Orchard.AuditTrail.Drivers { if (settings.ShowAuditTrailCommentInput) { results.Add(ContentShape("Parts_AuditTrail_Comment", () => { - if (updater != null) { - updater.TryUpdateModel(part, Prefix, null, null); + var viewModel = new AuditTrailCommentViewModel(); + + if (part.ShowComment) { + viewModel.Comment = part.Comment; } - return shapeHelper.EditorTemplate(Model: part, TemplateName: "Parts.AuditTrail.Comment", Prefix: Prefix); + + if (updater != null) { + if (updater.TryUpdateModel(viewModel, Prefix, null, null)) { + part.Comment = viewModel.Comment; + } + } + return shapeHelper.EditorTemplate(Model: viewModel, TemplateName: "Parts.AuditTrail.Comment", Prefix: Prefix); })); } if (_services.Authorizer.Authorize(Permissions.ViewAuditTrail)) { diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Models/AuditTrailPart.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Models/AuditTrailPart.cs index 5a425c949..ed3d0f4a1 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Models/AuditTrailPart.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Models/AuditTrailPart.cs @@ -3,8 +3,10 @@ namespace Orchard.AuditTrail.Models { public class AuditTrailPart : ContentPart { public string Comment { - get { return this.Retrieve(x => x.Comment); } - set { this.Store(x => x.Comment, value); } + get { return RetrieveVersioned("Comment"); } + set { StoreVersioned("Comment", value); } } + + public bool ShowComment { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Orchard.AuditTrail.csproj b/src/Orchard.Web/Modules/Orchard.AuditTrail/Orchard.AuditTrail.csproj index b38eef750..5eb95f6bc 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Orchard.AuditTrail.csproj +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Orchard.AuditTrail.csproj @@ -255,6 +255,7 @@ + diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/AuditTrailEventHandler.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/AuditTrailEventHandler.cs index 6f3388fe3..f32e3dcc0 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/AuditTrailEventHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/AuditTrailEventHandler.cs @@ -13,7 +13,6 @@ namespace Orchard.AuditTrail.Providers.Content { return; context.Comment = auditTrailPart.Comment; - auditTrailPart.Comment = null; // Reset the comment. } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/GlobalContentHandler.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/GlobalContentHandler.cs index 8b3e392da..baf4d0ce8 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/GlobalContentHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Content/GlobalContentHandler.cs @@ -58,8 +58,6 @@ namespace Orchard.AuditTrail.Providers.Content { if (blackList.Contains(content.ContentItem.ContentType)) return; - var title = _contentManager.GetItemMetadata(content).DisplayText; - var properties = new Dictionary { {"Content", content} }; diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/ViewModels/AuditTrailCommentViewModel.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/ViewModels/AuditTrailCommentViewModel.cs new file mode 100644 index 000000000..3e5799f1f --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/ViewModels/AuditTrailCommentViewModel.cs @@ -0,0 +1,5 @@ +namespace Orchard.AuditTrail.ViewModels { + public class AuditTrailCommentViewModel { + public string Comment { get; set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/EditorTemplates/Parts.AuditTrail.Comment.cshtml b/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/EditorTemplates/Parts.AuditTrail.Comment.cshtml index 3cb48fcb0..b06864dd8 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/EditorTemplates/Parts.AuditTrail.Comment.cshtml +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/EditorTemplates/Parts.AuditTrail.Comment.cshtml @@ -1,4 +1,4 @@ -@model Orchard.AuditTrail.Models.AuditTrailPart +@model Orchard.AuditTrail.ViewModels.AuditTrailCommentViewModel
@Html.LabelFor(m => m.Comment, T("Comment")) @Html.TextAreaFor(m => m.Comment)