Relocating the files to match namespaces. Using new ItemDriver technology within blogs module.

--HG--
rename : src/Orchard/Models/Aspects/ICommonAspect.cs => src/Orchard/ContentManagement/Aspects/ICommonAspect.cs
rename : src/Orchard/Models/ContentExtensions.cs => src/Orchard/ContentManagement/ContentExtensions.cs
rename : src/Orchard/Models/ContentItem.cs => src/Orchard/ContentManagement/ContentItem.cs
rename : src/Orchard/Models/ContentItemMetadata.cs => src/Orchard/ContentManagement/ContentItemMetadata.cs
rename : src/Orchard/Models/ContentModule.cs => src/Orchard/ContentManagement/ContentModule.cs
rename : src/Orchard/Models/ContentPart.cs => src/Orchard/ContentManagement/ContentPart.cs
rename : src/Orchard/Models/ContentType.cs => src/Orchard/ContentManagement/ContentType.cs
rename : src/Orchard/Models/DefaultContentManager.cs => src/Orchard/ContentManagement/DefaultContentManager.cs
rename : src/Orchard/Models/DefaultContentQuery.cs => src/Orchard/ContentManagement/DefaultContentQuery.cs
rename : src/Orchard/Models/Diagram.cd => src/Orchard/ContentManagement/Diagram.cd
rename : src/Orchard/Models/Driver/ActivatedContentContext.cs => src/Orchard/ContentManagement/Driver/ActivatedContentContext.cs
rename : src/Orchard/Models/Driver/ActivatingContentContext.cs => src/Orchard/ContentManagement/Driver/ActivatingContentContext.cs
rename : src/Orchard/Models/Driver/ActivatingFilter.cs => src/Orchard/ContentManagement/Driver/ActivatingFilter.cs
rename : src/Orchard/Models/Driver/BuildDisplayModelContext.cs => src/Orchard/ContentManagement/Driver/BuildDisplayModelContext.cs
rename : src/Orchard/Models/Driver/BuildEditorModelContext.cs => src/Orchard/ContentManagement/Driver/BuildEditorModelContext.cs
rename : src/Orchard/Models/Driver/ContentHandler.cs => src/Orchard/ContentManagement/Driver/ContentHandler.cs
rename : src/Orchard/Models/Driver/ContentItemBuilder.cs => src/Orchard/ContentManagement/Driver/ContentItemBuilder.cs
rename : src/Orchard/Models/Driver/ContentItemTemplates.cs => src/Orchard/ContentManagement/Driver/ContentItemTemplates.cs
rename : src/Orchard/Models/Driver/CreateContentContext.cs => src/Orchard/ContentManagement/Driver/CreateContentContext.cs
rename : src/Orchard/Models/Driver/GetItemMetadataContext.cs => src/Orchard/ContentManagement/Driver/GetItemMetadataContext.cs
rename : src/Orchard/Models/Driver/IContentActivatingFilter.cs => src/Orchard/ContentManagement/Driver/IContentActivatingFilter.cs
rename : src/Orchard/Models/Driver/IContentFilter.cs => src/Orchard/ContentManagement/Driver/IContentFilter.cs
rename : src/Orchard/Models/Driver/IContentHandler.cs => src/Orchard/ContentManagement/Driver/IContentHandler.cs
rename : src/Orchard/Models/Driver/IContentStorageFilter.cs => src/Orchard/ContentManagement/Driver/IContentStorageFilter.cs
rename : src/Orchard/Models/Driver/IContentTemplateFilter.cs => src/Orchard/ContentManagement/Driver/IContentTemplateFilter.cs
rename : src/Orchard/Models/Driver/IUpdateModel.cs => src/Orchard/ContentManagement/Driver/IUpdateModel.cs
rename : src/Orchard/Models/Driver/LoadContentContext.cs => src/Orchard/ContentManagement/Driver/LoadContentContext.cs
rename : src/Orchard/Models/Driver/StorageFilter.cs => src/Orchard/ContentManagement/Driver/StorageFilter.cs
rename : src/Orchard/Models/Driver/StorageFilterBase.cs => src/Orchard/ContentManagement/Driver/StorageFilterBase.cs
rename : src/Orchard/Models/Driver/TemplateFilterBase.cs => src/Orchard/ContentManagement/Driver/TemplateFilterBase.cs
rename : src/Orchard/Models/Driver/TemplateFilterForRecord.cs => src/Orchard/ContentManagement/Driver/TemplateFilterForRecord.cs
rename : src/Orchard/Models/Driver/UpdateEditorModelContext.cs => src/Orchard/ContentManagement/Driver/UpdateEditorModelContext.cs
rename : src/Orchard/Models/Driver/ActivatedContentContext.cs => src/Orchard/ContentManagement/Handlers/ActivatedContentContext.cs
rename : src/Orchard/Models/Driver/ActivatingContentContext.cs => src/Orchard/ContentManagement/Handlers/ActivatingContentContext.cs
rename : src/Orchard/Models/Driver/ActivatingFilter.cs => src/Orchard/ContentManagement/Handlers/ActivatingFilter.cs
rename : src/Orchard/Models/Driver/BuildDisplayModelContext.cs => src/Orchard/ContentManagement/Handlers/BuildDisplayModelContext.cs
rename : src/Orchard/Models/Driver/BuildEditorModelContext.cs => src/Orchard/ContentManagement/Handlers/BuildEditorModelContext.cs
rename : src/Orchard/Models/Driver/ContentHandler.cs => src/Orchard/ContentManagement/Handlers/ContentHandler.cs
rename : src/Orchard/Models/Driver/ContentItemBuilder.cs => src/Orchard/ContentManagement/Handlers/ContentItemBuilder.cs
rename : src/Orchard/Models/Driver/ContentItemTemplates.cs => src/Orchard/ContentManagement/Handlers/ContentItemTemplates.cs
rename : src/Orchard/Models/Driver/CreateContentContext.cs => src/Orchard/ContentManagement/Handlers/CreateContentContext.cs
rename : src/Orchard/Models/Driver/GetItemMetadataContext.cs => src/Orchard/ContentManagement/Handlers/GetItemMetadataContext.cs
rename : src/Orchard/Models/Driver/IContentActivatingFilter.cs => src/Orchard/ContentManagement/Handlers/IContentActivatingFilter.cs
rename : src/Orchard/Models/Driver/IContentFilter.cs => src/Orchard/ContentManagement/Handlers/IContentFilter.cs
rename : src/Orchard/Models/Driver/IContentHandler.cs => src/Orchard/ContentManagement/Handlers/IContentHandler.cs
rename : src/Orchard/Models/Driver/IContentStorageFilter.cs => src/Orchard/ContentManagement/Handlers/IContentStorageFilter.cs
rename : src/Orchard/Models/Driver/IContentTemplateFilter.cs => src/Orchard/ContentManagement/Handlers/IContentTemplateFilter.cs
rename : src/Orchard/Models/Driver/IUpdateModel.cs => src/Orchard/ContentManagement/Handlers/IUpdateModel.cs
rename : src/Orchard/Models/Driver/LoadContentContext.cs => src/Orchard/ContentManagement/Handlers/LoadContentContext.cs
rename : src/Orchard/Models/Driver/StorageFilter.cs => src/Orchard/ContentManagement/Handlers/StorageFilter.cs
rename : src/Orchard/Models/Driver/StorageFilterBase.cs => src/Orchard/ContentManagement/Handlers/StorageFilterBase.cs
rename : src/Orchard/Models/Driver/TemplateFilterBase.cs => src/Orchard/ContentManagement/Handlers/TemplateFilterBase.cs
rename : src/Orchard/Models/Driver/TemplateFilterForRecord.cs => src/Orchard/ContentManagement/Handlers/TemplateFilterForRecord.cs
rename : src/Orchard/Models/Driver/UpdateEditorModelContext.cs => src/Orchard/ContentManagement/Handlers/UpdateEditorModelContext.cs
rename : src/Orchard/Models/IContent.cs => src/Orchard/ContentManagement/IContent.cs
rename : src/Orchard/Models/IContentDisplayInfo.cs => src/Orchard/ContentManagement/IContentDisplayInfo.cs
rename : src/Orchard/Models/IContentManager.cs => src/Orchard/ContentManagement/IContentManager.cs
rename : src/Orchard/Models/IContentQuery.cs => src/Orchard/ContentManagement/IContentQuery.cs
rename : src/Orchard/Models/PartDriver.cs => src/Orchard/ContentManagement/PartDriver.cs
rename : src/Orchard/Models/Records/ContentItemRecord.cs => src/Orchard/ContentManagement/Records/ContentItemRecord.cs
rename : src/Orchard/Models/Records/ContentItemRecordAlteration.cs => src/Orchard/ContentManagement/Records/ContentItemRecordAlteration.cs
rename : src/Orchard/Models/Records/ContentPartRecord.cs => src/Orchard/ContentManagement/Records/ContentPartRecord.cs
rename : src/Orchard/Models/Records/ContentPartRecordAlteration.cs => src/Orchard/ContentManagement/Records/ContentPartRecordAlteration.cs
rename : src/Orchard/Models/Records/ContentTypeRecord.cs => src/Orchard/ContentManagement/Records/ContentTypeRecord.cs
rename : src/Orchard/Models/ViewModels/ItemDisplayModel.cs => src/Orchard/ContentManagement/ViewModels/ItemDisplayModel.cs
rename : src/Orchard/Models/ViewModels/ItemEditorModel.cs => src/Orchard/ContentManagement/ViewModels/ItemEditorModel.cs
rename : src/Orchard/Models/ViewModels/TemplateViewModel.cs => src/Orchard/ContentManagement/ViewModels/TemplateViewModel.cs
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4044417
This commit is contained in:
loudej
2009-12-21 22:43:10 +00:00
parent c08d3813da
commit 75984135a9
84 changed files with 2871 additions and 113 deletions

View File

@@ -0,0 +1,72 @@
using System.Collections.Generic;
using System.Linq;
using System.Web.Routing;
using JetBrains.Annotations;
using Orchard.Blogs.Models;
using Orchard.Blogs.Services;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.ViewModels;
namespace Orchard.Blogs.Controllers {
[UsedImplicitly]
public class BlogDriver : ItemDriver<Blog> {
private readonly IContentManager _contentManager;
private readonly IBlogPostService _blogPostService;
public BlogDriver(IContentManager contentManager, IBlogPostService blogPostService) {
_contentManager = contentManager;
_blogPostService = blogPostService;
}
protected override string Prefix { get { return ""; } }
protected override string GetDisplayText(Blog item) {
return item.Name;
}
protected override RouteValueDictionary GetDisplayRouteValues(Blog blog) {
return new RouteValueDictionary {
{"Area", "Orchard.Blogs"},
{"Controller", "Blog"},
{"Action", "Item"},
{"blogSlug", blog.Slug}
};
}
protected override RouteValueDictionary GetEditorRouteValues(Blog blog) {
return new RouteValueDictionary {
{"Area", "Orchard.Blogs"},
{"Controller", "Blog"},
{"Action", "Edit"},
{"blogSlug", blog.Slug}
};
}
protected override DriverResult Display(Blog blog, string displayType) {
if (!displayType.StartsWith("Detail"))
return null;
var posts = _blogPostService.Get(blog);
IEnumerable<ItemDisplayModel<BlogPost>> model;
if (displayType.StartsWith("DetailAdmin")) {
model = posts.Select(bp => _contentManager.BuildDisplayModel(bp, "SummaryAdmin"));
}
else {
model = posts.Select(bp => _contentManager.BuildDisplayModel(bp, "Summary"));
}
return PartialView(model, "Parts/Blogs.BlogPost.List", "").Location("body");
}
protected override DriverResult Editor(Blog blog) {
return PartialView(blog, "Parts/Blogs.Blog.Fields").Location("primary", "1");
}
protected override DriverResult Editor(Blog blog, IUpdateModel updater) {
updater.TryUpdateModel(blog, Prefix, null, null);
return PartialView(blog, "Parts/Blogs.Blog.Fields").Location("primary", "1");
}
}
}

View File

@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Routing;
using JetBrains.Annotations;
using Orchard.Blogs.Models;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
namespace Orchard.Blogs.Controllers {
[UsedImplicitly]
public class BlogPostDriver : ItemDriver<BlogPost> {
protected override string Prefix { get { return ""; } }
protected override string GetDisplayText(BlogPost post) {
return post.Title;
}
protected override RouteValueDictionary GetDisplayRouteValues(BlogPost post) {
return new RouteValueDictionary {
{"Area", "Orchard.Blogs"},
{"Controller", "BlogPost"},
{"Action", "Item"},
{"blogSlug", post.Blog.Slug},
{"postSlug", post.Slug},
};
}
protected override RouteValueDictionary GetEditorRouteValues(BlogPost post) {
return new RouteValueDictionary {
{"Area", "Orchard.Blogs"},
{"Controller", "BlogPost"},
{"Action", "Edit"},
{"blogSlug", post.Blog.Slug},
{"postSlug", post.Slug},
};
}
protected override DriverResult Editor(BlogPost post) {
return Combined(
PartialView(post, "Parts/Blogs.BlogPost.Fields").Location("primary", "1"),
PartialView(post, "Parts/Blogs.BlogPost.Publish").Location("secondary", "1")
);
}
protected override DriverResult Editor(BlogPost post, IUpdateModel updater) {
updater.TryUpdateModel(post, Prefix, null, null);
return Editor(post);
}
}
}

View File

@@ -3,7 +3,6 @@ using Orchard.Core.Common.Models;
using Orchard.Data;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Handlers;
using Orchard.ContentManagement.ViewModels;
namespace Orchard.Blogs.Models {
public class BlogHandler : ContentHandler {
@@ -17,15 +16,6 @@ namespace Orchard.Blogs.Models {
Filters.Add(new ActivatingFilter<RoutableAspect>("blog"));
Filters.Add(new StorageFilter<BlogRecord>(repository));
Filters.Add(new ContentItemTemplates<Blog>("Items/Blogs.Blog", "Summary DetailAdmin SummaryAdmin"));
OnGetEditorViewModel<Blog>((context, blog) =>
context.AddEditor(new TemplateViewModel(blog) { TemplateName = "Parts/Blogs.Blog.Fields", ZoneName = "primary", Position = "1" })
);
OnUpdateEditorViewModel<Blog>((context, blog) => {
context.AddEditor(new TemplateViewModel(blog) { TemplateName = "Parts/Blogs.Blog.Fields", ZoneName = "primary", Position = "1" });
context.Updater.TryUpdateModel(blog, "", null, null);
});
}
}
}
}

View File

@@ -27,63 +27,6 @@ namespace Orchard.Blogs.Models {
Filters.Add(new ContentItemTemplates<BlogPost>("Items/Blogs.BlogPost", "Summary SummaryAdmin"));
OnCreated<BlogPost>((context, bp) => bp.Blog.PostCount++);
OnGetItemMetadata<BlogPost>((context, bp) => {
context.Metadata.DisplayText = bp.Title;
context.Metadata.DisplayRouteValues =
new RouteValueDictionary(
new {
area = "Orchard.Blogs",
controller = "BlogPost",
action = "Item",
blogSlug = bp.Blog.Slug,
postSlug = bp.Slug
});
context.Metadata.EditorRouteValues =
new RouteValueDictionary(
new {
area = "Orchard.Blogs",
controller = "BlogPost",
action = "Edit",
blogSlug = bp.Blog.Slug,
postSlug = bp.Slug
});
});
OnGetDisplayViewModel<Blog>((context, blog) => {
if (!context.DisplayType.StartsWith("Detail"))
return;
var posts = blogPostService.Get(blog);
switch(context.DisplayType) {
case "Detail":
context.AddDisplay(
new TemplateViewModel(posts.Select(bp => contentManager.BuildDisplayModel(bp, "Summary"))) {
TemplateName = "Parts/Blogs.BlogPost.List",
ZoneName = "body"
});
break;
case "DetailAdmin":
context.AddDisplay(
new TemplateViewModel(posts.Select(bp => contentManager.BuildDisplayModel(bp, "SummaryAdmin"))) {
TemplateName = "Parts/Blogs.BlogPost.List",
ZoneName = "body"
});
break;
}
});
OnGetEditorViewModel<BlogPost>((context, blogPost) => {
context.AddEditor(new TemplateViewModel(blogPost) { TemplateName = "Parts/Blogs.BlogPost.Fields", ZoneName = "primary", Position = "1" });
context.AddEditor(new TemplateViewModel(blogPost) { TemplateName = "Parts/Blogs.BlogPost.Publish", ZoneName = "secondary", Position = "1" });
});
OnUpdateEditorViewModel<BlogPost>((context, blogPost) => {
context.AddEditor(new TemplateViewModel(blogPost) { TemplateName = "Parts/Blogs.BlogPost.Fields", ZoneName = "primary", Position = "1" });
context.AddEditor(new TemplateViewModel(blogPost) { TemplateName = "Parts/Blogs.BlogPost.Publish", ZoneName = "secondary", Position = "1" });
context.Updater.TryUpdateModel(blogPost, "", null, null);
});
}
}

View File

@@ -75,7 +75,9 @@
<ItemGroup>
<Compile Include="AdminMenu.cs" />
<Compile Include="Controllers\BlogAdminController.cs" />
<Compile Include="Controllers\BlogDriver.cs" />
<Compile Include="Controllers\BlogPostController.cs" />
<Compile Include="Controllers\BlogPostDriver.cs" />
<Compile Include="Extensions\HtmlHelperExtensions.cs" />
<Compile Include="Extensions\UriExtensions.cs" />
<Compile Include="Extensions\UrlHelperExtensions.cs" />

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Orchard.ContentManagement.Drivers;
using Orchard.Data;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Handlers;