Adding last few remaining export handlers, Comments, RecentBlogPosts and ArchiveLater...

--HG--
branch : dev
This commit is contained in:
Suha Can
2011-03-15 11:37:18 -07:00
parent 5e52e6ee20
commit c736214117
5 changed files with 47 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ using Orchard.ArchiveLater.Services;
using Orchard.ArchiveLater.ViewModels;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.Handlers;
using Orchard.Localization;
using System.Globalization;
@@ -72,5 +73,9 @@ namespace Orchard.ArchiveLater.Drivers {
return ContentShape("Parts_ArchiveLater_Edit",
() => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: model, Prefix: Prefix));
}
protected override void Exporting(ArchiveLaterPart part, ExportContentContext context) {
context.Element(part.PartDefinition.Name).SetAttributeValue("ScheduledArchiveUtc", part.ScheduledArchiveUtc.Value);
}
}
}

View File

@@ -44,6 +44,8 @@
<HintPath>..\..\..\..\lib\aspnetmvc\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Migrations.cs" />

View File

@@ -5,6 +5,7 @@ using Orchard.Blogs.Services;
using Orchard.Blogs.ViewModels;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.Handlers;
using Orchard.Core.Common.Models;
namespace Orchard.Blogs.Drivers {
@@ -64,5 +65,10 @@ namespace Orchard.Blogs.Drivers {
return Editor(part, shapeHelper);
}
protected override void Exporting(RecentBlogPostsPart part, ExportContentContext context) {
context.Element(part.PartDefinition.Name).SetAttributeValue("BlogSlug", part.ForBlog);
context.Element(part.PartDefinition.Name).SetAttributeValue("Count", part.Count);
}
}
}

View File

@@ -1,10 +1,38 @@
using JetBrains.Annotations;
using Orchard.Comments.Models;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
namespace Orchard.Comments.Drivers {
[UsedImplicitly]
public class CommentPartDriver : ContentPartDriver<CommentPart> {
private readonly IContentManager _contentManager;
protected override string Prefix { get { return "Comments"; } }
public CommentPartDriver(IContentManager contentManager) {
_contentManager = contentManager;
}
protected override void Exporting(CommentPart part, ContentManagement.Handlers.ExportContentContext context) {
context.Element(part.PartDefinition.Name).SetAttributeValue("Author", part.Record.Author);
context.Element(part.PartDefinition.Name).SetAttributeValue("SiteName", part.Record.SiteName);
context.Element(part.PartDefinition.Name).SetAttributeValue("UserName", part.Record.UserName);
context.Element(part.PartDefinition.Name).SetAttributeValue("Email", part.Record.Email);
context.Element(part.PartDefinition.Name).SetAttributeValue("Status", part.Record.Status.ToString());
context.Element(part.PartDefinition.Name).SetAttributeValue("CommentDataUtc", part.Record.CommentDateUtc.ToString());
context.Element(part.PartDefinition.Name).SetAttributeValue("CommentText", part.Record.CommentText);
var commentedOn = _contentManager.Get(part.Record.CommentedOn);
if (commentedOn != null) {
var commentedOnIdentity = _contentManager.GetItemMetadata(commentedOn).Identity;
context.Element(part.PartDefinition.Name).SetAttributeValue("CommentedOn", commentedOnIdentity.ToString());
}
var commentedOnContainer = _contentManager.Get(part.Record.CommentedOnContainer);
if (commentedOnContainer != null) {
var commentedOnContainerIdentity = _contentManager.GetItemMetadata(commentedOnContainer).Identity;
context.Element(part.PartDefinition.Name).SetAttributeValue("commentedOnContainer", commentedOnContainerIdentity.ToString());
}
}
}
}
}

View File

@@ -29,5 +29,10 @@ namespace Orchard.Comments.Drivers {
updater.TryUpdateModel(part, Prefix, null, null);
return Editor(part, shapeHelper);
}
protected override void Exporting(CommentsPart part, ContentManagement.Handlers.ExportContentContext context) {
context.Element(part.PartDefinition.Name).SetAttributeValue("CommentsShown", part.CommentsShown);
context.Element(part.PartDefinition.Name).SetAttributeValue("CommentsActive", part.CommentsActive);
}
}
}