diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Models/Page.cs b/src/Orchard.Web/Packages/Orchard.Pages/Models/Page.cs index 4a98495bb..6c1d84d63 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Models/Page.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/Models/Page.cs @@ -5,7 +5,7 @@ using Orchard.Core.Common.Models; using Orchard.Security; namespace Orchard.Pages.Models { - public class Page : ContentPart { + public class Page : ContentPart { [HiddenInput(DisplayValue = false)] public int Id { get { return ContentItem.Id; } } diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Models/PageHandler.cs b/src/Orchard.Web/Packages/Orchard.Pages/Models/PageHandler.cs index cd520d6db..5b921421c 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Models/PageHandler.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/Models/PageHandler.cs @@ -9,13 +9,12 @@ using Orchard.ContentManagement.Handlers; namespace Orchard.Pages.Models { [UsedImplicitly] public class PageHandler : ContentHandler { - public PageHandler(IRepository repository, IRepository commonRepository) { + public PageHandler(IRepository commonRepository) { Filters.Add(new ActivatingFilter(PageDriver.ContentType.Name)); Filters.Add(new ActivatingFilter(PageDriver.ContentType.Name)); Filters.Add(new ActivatingFilter>(PageDriver.ContentType.Name)); Filters.Add(new ActivatingFilter(PageDriver.ContentType.Name)); Filters.Add(new ActivatingFilter(PageDriver.ContentType.Name)); - Filters.Add(new StorageFilter(repository)); Filters.Add(new StorageFilter(commonRepository)); } } diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Models/PageRecord.cs b/src/Orchard.Web/Packages/Orchard.Pages/Models/PageRecord.cs deleted file mode 100644 index 2bf681f3c..000000000 --- a/src/Orchard.Web/Packages/Orchard.Pages/Models/PageRecord.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; -using Orchard.ContentManagement.Records; - -namespace Orchard.Pages.Models { - public class PageRecord : ContentPartRecord { - public virtual DateTime? Published { get; set; } - } -} diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Orchard.Pages.csproj b/src/Orchard.Web/Packages/Orchard.Pages/Orchard.Pages.csproj index f08e3e3c0..e3c76c3fa 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Orchard.Pages.csproj +++ b/src/Orchard.Web/Packages/Orchard.Pages/Orchard.Pages.csproj @@ -80,7 +80,6 @@ - diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Services/PageService.cs b/src/Orchard.Web/Packages/Orchard.Pages/Services/PageService.cs index 661d505a3..b97aa9bf4 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Services/PageService.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/Services/PageService.cs @@ -18,29 +18,30 @@ namespace Orchard.Pages.Services { } public IEnumerable Get(PageStatus status) { + IEnumerable contentItems; + switch (status) { case PageStatus.All: - return _contentManager.Query(VersionOptions.Latest).List(); + contentItems = _contentManager.Query(VersionOptions.Latest, "page").List(); + break; case PageStatus.Published: - return _contentManager.Query(VersionOptions.Published).List(); + contentItems = _contentManager.Query(VersionOptions.Published, "page").List(); + break; case PageStatus.Offline: - IEnumerable allPages = _contentManager.Query(VersionOptions.Latest).List(); - List offlinePages = new List(); - foreach (var page in allPages) { - if (page.ContentItem.VersionRecord.Published == false) { - offlinePages.Add(page); - } - } - return offlinePages; + contentItems = _contentManager.Query(VersionOptions.Latest, "page").List().Where(ci => !ci.VersionRecord.Published); + break; default: - return new List(); + contentItems = new List().Cast(); + break; } + + return contentItems.Select(ci => ci.As()); } public Page Get(string slug) { - return _contentManager.Query() - .Join().Where(rr => rr.Slug == slug) - .List().FirstOrDefault(); + return + _contentManager.Query("page").Join().Where(rr => rr.Slug == slug).List().FirstOrDefault + ().As(); } public Page GetLatest(int id) { @@ -48,9 +49,9 @@ namespace Orchard.Pages.Services { } public Page GetLatest(string slug) { - return _contentManager.Query(VersionOptions.Latest) - .Join().Where(rr => rr.Slug == slug) - .Slice(0, 1).FirstOrDefault(); + return + _contentManager.Query(VersionOptions.Latest, "page").Join().Where(rr => rr.Slug == slug) + .Slice(0, 1).FirstOrDefault().As(); } public Page GetPageOrDraft(string slug) {