From 7a88a4cb3c921658c629da3cf3c435016486a9d8 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Tue, 29 Oct 2013 18:54:50 -0700 Subject: [PATCH] Shifting blogs --- .../Orchard.Blogs/Controllers/BlogController.cs | 2 +- .../Controllers/BlogPostController.cs | 2 +- .../Drivers/BlogArchivesPartDriver.cs | 2 +- .../Orchard.Blogs/Drivers/BlogPostPartDriver.cs | 11 ++++++++--- .../Drivers/RecentBlogPostsPartDriver.cs | 2 +- .../Extensions/FeedManagerExtensions.cs | 6 +++--- .../Modules/Orchard.Blogs/Models/BlogPart.cs | 15 ++++----------- .../Orchard.Blogs/Services/BlogPostService.cs | 1 - .../Orchard.Blogs/Services/XmlRpcHandler.cs | 2 +- 9 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogController.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogController.cs index 636de22b7..537f2e9f4 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogController.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogController.cs @@ -70,7 +70,7 @@ namespace Orchard.Blogs.Controllers { } - _feedManager.Register(blogPart); + _feedManager.Register(blogPart, _services.ContentManager.GetItemMetadata(blogPart).DisplayText); var blogPosts = _blogPostService.Get(blogPart, pager.GetStartIndex(), pager.PageSize) .Select(b => _services.ContentManager.BuildDisplay(b, "Summary")); dynamic blog = _services.ContentManager.BuildDisplay(blogPart); diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogPostController.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogPostController.cs index 7db3eaa6d..1e6344388 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogPostController.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogPostController.cs @@ -56,7 +56,7 @@ namespace Orchard.Blogs.Controllers { var list = Shape.List(); list.AddRange(_blogPostService.Get(blogPart, archive).Select(b => _services.ContentManager.BuildDisplay(b, "Summary"))); - _feedManager.Register(blogPart); + _feedManager.Register(blogPart, _services.ContentManager.GetItemMetadata(blogPart).DisplayText); var viewModel = Shape.ViewModel() .ContentItems(list) diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogArchivesPartDriver.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogArchivesPartDriver.cs index ec7a9af28..640c11181 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogArchivesPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogArchivesPartDriver.cs @@ -36,7 +36,7 @@ namespace Orchard.Blogs.Drivers { protected override DriverResult Editor(BlogArchivesPart part, dynamic shapeHelper) { var viewModel = new BlogArchivesViewModel { BlogId = part.BlogId, - Blogs = _blogService.Get().ToList().OrderBy(b => b.Name) + Blogs = _blogService.Get().ToList().OrderBy(b => _contentManager.GetItemMetadata(b).DisplayText) }; return ContentShape("Parts_Blogs_BlogArchives_Edit", diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPostPartDriver.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPostPartDriver.cs index b17bba836..a58953261 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPostPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPostPartDriver.cs @@ -1,6 +1,7 @@ using JetBrains.Annotations; using Orchard.Blogs.Models; using Orchard.Blogs.Extensions; +using Orchard.ContentManagement; using Orchard.ContentManagement.Drivers; using Orchard.Core.Feeds; @@ -8,14 +9,18 @@ namespace Orchard.Blogs.Drivers { [UsedImplicitly] public class BlogPostPartDriver : ContentPartDriver { private readonly IFeedManager _feedManager; + private readonly IContentManager _contentManager; - public BlogPostPartDriver(IFeedManager feedManager) { + public BlogPostPartDriver(IFeedManager feedManager, IContentManager contentManager) { _feedManager = feedManager; + _contentManager = contentManager; } protected override DriverResult Display(BlogPostPart part, string displayType, dynamic shapeHelper) { - if (displayType.StartsWith("Detail")) - _feedManager.Register(part.BlogPart); + if (displayType.StartsWith("Detail")) { + var blogTitle = _contentManager.GetItemMetadata(part.BlogPart).DisplayText; + _feedManager.Register(part.BlogPart, blogTitle); + } return null; } diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs index 00be2b6d2..a057ceea2 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs @@ -47,7 +47,7 @@ namespace Orchard.Blogs.Drivers { var viewModel = new RecentBlogPostsViewModel { Count = part.Count, BlogId = part.BlogId, - Blogs = _blogService.Get().ToList().OrderBy(b => b.Name) + Blogs = _blogService.Get().ToList().OrderBy(b => _contentManager.GetItemMetadata(b).DisplayText) }; return ContentShape("Parts_Blogs_RecentBlogPosts_Edit", diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Extensions/FeedManagerExtensions.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Extensions/FeedManagerExtensions.cs index 326d499b2..0de5de2d6 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Extensions/FeedManagerExtensions.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Extensions/FeedManagerExtensions.cs @@ -4,9 +4,9 @@ using Orchard.Core.Feeds; namespace Orchard.Blogs.Extensions { public static class FeedManagerExtensions { - public static void Register(this IFeedManager feedManager, BlogPart blogPart) { - feedManager.Register(blogPart.Name, "rss", new RouteValueDictionary { { "containerid", blogPart.Id } }); - feedManager.Register(blogPart.Name + " - Comments", "rss", new RouteValueDictionary { { "commentedoncontainer", blogPart.Id } }); + public static void Register(this IFeedManager feedManager, BlogPart blogPart, string blogTitle) { + feedManager.Register(blogTitle, "rss", new RouteValueDictionary { { "containerid", blogPart.Id } }); + feedManager.Register(blogTitle + " - Comments", "rss", new RouteValueDictionary { { "commentedoncontainer", blogPart.Id } }); } } } diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogPart.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogPart.cs index 7b04b5458..f112fd2a8 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogPart.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogPart.cs @@ -1,22 +1,15 @@ using Orchard.ContentManagement; -using Orchard.ContentManagement.Aspects; - namespace Orchard.Blogs.Models { public class BlogPart : ContentPart { - // TODO: (PH) This isn't referenced in many places but should use ContentItemMetadata instead? - public string Name { - get { return this.As().Title; } - } - public string Description { - get { return Record.Description; } - set { Record.Description = value; } + get { return Retrieve(x => x.Description); } + set { Store(x => x.Description, value); } } public int PostCount { - get { return Record.PostCount; } - set { Record.PostCount = value; } + get { return Retrieve(x => x.PostCount); } + set { Store(x => x.PostCount, value); } } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Services/BlogPostService.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Services/BlogPostService.cs index 6eed51ab5..c6865745e 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Services/BlogPostService.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Services/BlogPostService.cs @@ -126,7 +126,6 @@ namespace Orchard.Blogs.Services { _contentManager.Query(versionOptions, "BlogPost") .Join().Where( cr => cr.Container == blog.Record.ContentItemRecord).OrderByDescending(cr => cr.CreatedUtc) - .WithQueryHintsFor("BlogPost") ; } } diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Services/XmlRpcHandler.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Services/XmlRpcHandler.cs index 72264afcf..457e666b2 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Services/XmlRpcHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Services/XmlRpcHandler.cs @@ -132,7 +132,7 @@ namespace Orchard.Blogs.Services { array.Add(new XRpcStruct() .Set("url", urlHelper.AbsoluteAction(() => urlHelper.Blog(blogPart))) .Set("blogid", blog.Id) - .Set("blogName", blog.Name)); + .Set("blogName", _contentManager.GetItemMetadata(blog).DisplayText)); } }