mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
#197: Show audit trail event comment only in read only view.
This commit is contained in:
@@ -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<AuditTrailPart>();
|
||||
|
||||
if (auditTrailPart != null) {
|
||||
auditTrailPart.ShowComment = true;
|
||||
}
|
||||
|
||||
var editor = _contentManager.BuildEditor(contentItem);
|
||||
return View(editor);
|
||||
}
|
||||
|
@@ -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)) {
|
||||
|
@@ -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<string>("Comment"); }
|
||||
set { StoreVersioned("Comment", value); }
|
||||
}
|
||||
|
||||
public bool ShowComment { get; set; }
|
||||
}
|
||||
}
|
@@ -255,6 +255,7 @@
|
||||
<Compile Include="Providers\Content\ContentAuditTrailEventProvider.cs" />
|
||||
<Compile Include="Services\IAuditTrailEventHandler.cs" />
|
||||
<Compile Include="Services\IAuditTrailEventProvider.cs" />
|
||||
<Compile Include="ViewModels\AuditTrailCommentViewModel.cs" />
|
||||
<Compile Include="ViewModels\CommonAuditTrailFilterViewModel.cs" />
|
||||
<Compile Include="Services\Models\AuditTrailOrderBy.cs" />
|
||||
<Compile Include="ViewModels\AuditTrailViewModel.cs" />
|
||||
|
@@ -13,7 +13,6 @@ namespace Orchard.AuditTrail.Providers.Content {
|
||||
return;
|
||||
|
||||
context.Comment = auditTrailPart.Comment;
|
||||
auditTrailPart.Comment = null; // Reset the comment.
|
||||
}
|
||||
}
|
||||
}
|
@@ -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<string, object> {
|
||||
{"Content", content}
|
||||
};
|
||||
|
@@ -0,0 +1,5 @@
|
||||
namespace Orchard.AuditTrail.ViewModels {
|
||||
public class AuditTrailCommentViewModel {
|
||||
public string Comment { get; set; }
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
@model Orchard.AuditTrail.Models.AuditTrailPart
|
||||
@model Orchard.AuditTrail.ViewModels.AuditTrailCommentViewModel
|
||||
<fieldset>
|
||||
@Html.LabelFor(m => m.Comment, T("Comment"))
|
||||
@Html.TextAreaFor(m => m.Comment)
|
||||
|
Reference in New Issue
Block a user