mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Incremental work on AuditTrailPart settings.
This commit is contained in:
@@ -3,17 +3,17 @@ using Orchard.ContentManagement;
|
||||
using Orchard.ContentManagement.Drivers;
|
||||
|
||||
namespace Orchard.AuditTrail.Drivers {
|
||||
public class AuditTrailCommentPartDriver : ContentPartDriver<AuditTrailCommentPart> {
|
||||
protected override DriverResult Editor(AuditTrailCommentPart part, dynamic shapeHelper) {
|
||||
public class AuditTrailPartDriver : ContentPartDriver<AuditTrailPart> {
|
||||
protected override DriverResult Editor(AuditTrailPart part, dynamic shapeHelper) {
|
||||
return Editor(part, null, shapeHelper);
|
||||
}
|
||||
|
||||
protected override DriverResult Editor(AuditTrailCommentPart part, IUpdateModel updater, dynamic shapeHelper) {
|
||||
return ContentShape("Parts_AuditTrailComment_Edit", () => {
|
||||
protected override DriverResult Editor(AuditTrailPart part, IUpdateModel updater, dynamic shapeHelper) {
|
||||
return ContentShape("Parts_AuditTrail_Edit", () => {
|
||||
if (updater != null) {
|
||||
updater.TryUpdateModel(part, Prefix, null, null);
|
||||
}
|
||||
return shapeHelper.EditorTemplate(Model: part, TemplateName: "Parts.AuditTrailComment", Prefix: Prefix);
|
||||
return shapeHelper.EditorTemplate(Model: part, TemplateName: "Parts.AuditTrail", Prefix: Prefix);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ namespace Orchard.AuditTrail.Handlers {
|
||||
public class AuditTrailEventHandler : IAuditTrailEventHandler {
|
||||
public void Create(AuditTrailCreateContext context) {
|
||||
var content = (IContent)context.Properties["Content"];
|
||||
var auditTrailPart = content != null ? content.As<AuditTrailCommentPart>() : default(AuditTrailCommentPart);
|
||||
var auditTrailPart = content != null ? content.As<AuditTrailPart>() : default(AuditTrailPart);
|
||||
|
||||
if (auditTrailPart == null)
|
||||
return;
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace Orchard.AuditTrail {
|
||||
.Column<string>("EventFilterData", c => c.WithLength(256))
|
||||
.Column<string>("Comment", c => c.Unlimited()));
|
||||
|
||||
ContentDefinitionManager.AlterPartDefinition("AuditTrailCommentPart", part => part
|
||||
ContentDefinitionManager.AlterPartDefinition("AuditTrailPart", part => part
|
||||
.Attachable()
|
||||
.WithDescription("Enables the user to enter a comment about the change when saving a content item."));
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using Orchard.ContentManagement;
|
||||
|
||||
namespace Orchard.AuditTrail.Models {
|
||||
public class AuditTrailCommentPart : ContentPart {
|
||||
public class AuditTrailPart : ContentPart {
|
||||
public string Comment {
|
||||
get { return this.Retrieve(x => x.Comment); }
|
||||
set { this.Store(x => x.Comment, value); }
|
||||
@@ -82,6 +82,7 @@
|
||||
<Content Include="Properties\AssemblyInfo.cs" />
|
||||
<Content Include="Module.txt" />
|
||||
<Content Include="Views\Parts.Contents.AuditTrail.SummaryAdmin.cshtml" />
|
||||
<Content Include="Views\DefinitionTemplates\AuditTrailPartSettings.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Orchard\Orchard.Framework.csproj">
|
||||
@@ -100,10 +101,12 @@
|
||||
<Compile Include="Handlers\AuditTrailEventHandler.cs" />
|
||||
<Compile Include="Helpers\EventDataHelper.cs" />
|
||||
<Compile Include="Models\AuditTrailFilterParameters.cs" />
|
||||
<Compile Include="Settings\AuditTrailPartSettings.cs" />
|
||||
<Compile Include="Settings\AuditTrailPartSettingsEvents.cs" />
|
||||
<Compile Include="ViewModels\AuditTrailEventSummaryViewModel.cs" />
|
||||
<Compile Include="Drivers\AuditTrailCommentPartDriver.cs" />
|
||||
<Compile Include="Drivers\AuditTrailPartDriver.cs" />
|
||||
<Compile Include="Helpers\EventNameHelper.cs" />
|
||||
<Compile Include="Models\AuditTrailCommentPart.cs" />
|
||||
<Compile Include="Models\AuditTrailPart.cs" />
|
||||
<Compile Include="Services\AuditTrailEventDisplayBuilder.cs" />
|
||||
<Compile Include="Services\EventDataSerializer.cs" />
|
||||
<Compile Include="Services\IAuditTrailEventDisplayBuilder.cs" />
|
||||
@@ -148,7 +151,7 @@
|
||||
<Content Include="Views\AuditTrailEvent-Content.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Views\EditorTemplates\Parts.AuditTrailComment.cshtml" />
|
||||
<Content Include="Views\EditorTemplates\Parts.AuditTrail.cshtml" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<Placement>
|
||||
<Place Parts_AuditTrailComment_Edit="Content:after" />
|
||||
<Place Parts_AuditTrail_Edit="Content:after" />
|
||||
<Match DisplayType="SummaryAdmin">
|
||||
<Place Parts_Contents_AuditTrail_SummaryAdmin="Actions:7"/>
|
||||
</Match>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<Orchard>
|
||||
<Recipe>
|
||||
<Name>Audit Trail</Name>
|
||||
<Description>Attaches the AuditTrailCommentPart to the Page content type.</Description>
|
||||
<Description>Attaches the AuditTrailPart to the Page content type.</Description>
|
||||
<Author>The Orchard Team</Author>
|
||||
<WebSite>http://orchardproject.net</WebSite>
|
||||
<Tags>developer</Tags>
|
||||
@@ -12,7 +12,7 @@
|
||||
<Metadata>
|
||||
<Types>
|
||||
<Page>
|
||||
<AuditTrailCommentPart />
|
||||
<AuditTrailPart />
|
||||
</Page>
|
||||
</Types>
|
||||
</Metadata>
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
using System.Globalization;
|
||||
using Orchard.ContentManagement.MetaData.Builders;
|
||||
|
||||
namespace Orchard.AuditTrail.Settings {
|
||||
public class AuditTrailPartSettings {
|
||||
public bool ShowAuditTrailLink { get; set; }
|
||||
public bool ShowAuditTrail { get; set; }
|
||||
|
||||
public void Build(ContentTypePartDefinitionBuilder builder) {
|
||||
builder.WithSetting("AuditTrailPartSettings.ShowAuditTrailLink", ShowAuditTrailLink.ToString(CultureInfo.InvariantCulture));
|
||||
builder.WithSetting("AuditTrailPartSettings.ShowAuditTrail", ShowAuditTrail.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using System.Collections.Generic;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.ContentManagement.MetaData;
|
||||
using Orchard.ContentManagement.MetaData.Builders;
|
||||
using Orchard.ContentManagement.MetaData.Models;
|
||||
using Orchard.ContentManagement.ViewModels;
|
||||
|
||||
namespace Orchard.AuditTrail.Settings {
|
||||
public class AuditTrailPartSettingsEvents : ContentDefinitionEditorEventsBase {
|
||||
|
||||
public override IEnumerable<TemplateViewModel> TypePartEditor(ContentTypePartDefinition definition) {
|
||||
if (definition.PartDefinition.Name != "AuditTrailPart")
|
||||
yield break;
|
||||
|
||||
var settings = definition.Settings.GetModel<AuditTrailPartSettings>();
|
||||
yield return DefinitionTemplate(settings);
|
||||
}
|
||||
|
||||
public override IEnumerable<TemplateViewModel> TypePartEditorUpdate(ContentTypePartDefinitionBuilder builder, IUpdateModel updateModel) {
|
||||
if (builder.Name != "AuditTrailPart")
|
||||
yield break;
|
||||
|
||||
var settings = new AuditTrailPartSettings();
|
||||
updateModel.TryUpdateModel(settings, "AuditTrailPartSettings", null, null);
|
||||
settings.Build(builder);
|
||||
|
||||
yield return DefinitionTemplate(settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
@model Orchard.AuditTrail.Settings.AuditTrailPartSettings
|
||||
<fieldset>
|
||||
<div>
|
||||
@Html.CheckBoxFor(m => m.ShowAuditTrailLink)
|
||||
@Html.LabelFor(m => m.ShowAuditTrailLink, T("Show audit trail link").Text, new { @class = "forcheckbox" })
|
||||
<span class="hint">@T("Renders a link to the audit trail of the content item.")</span>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<div>
|
||||
@Html.CheckBoxFor(m => m.ShowAuditTrail)
|
||||
@Html.LabelFor(m => m.ShowAuditTrail, T("Show inline audit trail").Text, new { @class = "forcheckbox" })
|
||||
<span class="hint">@T("Renders an inline view of the audit trail of the content item.")</span>
|
||||
</div>
|
||||
</fieldset>
|
||||
Reference in New Issue
Block a user