From 984cd638c5ba427ded04734907e4ab4e5f3c6063 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Wed, 1 Dec 2010 17:37:59 -0800 Subject: [PATCH] Hooking up filtering by content type within a list of contained items in the contents admin UI. --HG-- branch : dev --- .../Contents/Controllers/AdminController.cs | 4 +-- src/Orchard.Web/Core/Contents/Routes.cs | 25 +++++++++++++++++-- .../Items/Content-List.SummaryAdmin.cshtml | 4 +-- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/Orchard.Web/Core/Contents/Controllers/AdminController.cs b/src/Orchard.Web/Core/Contents/Controllers/AdminController.cs index 65c8be665..e2824ee73 100644 --- a/src/Orchard.Web/Core/Contents/Controllers/AdminController.cs +++ b/src/Orchard.Web/Core/Contents/Controllers/AdminController.cs @@ -61,8 +61,8 @@ namespace Orchard.Core.Contents.Controllers { : contentTypeDefinition.Name; query = query.ForType(model.TypeName); } - // content type and container filters are mutually exclusive - else if (model.ContainerId != null) { + + if (model.ContainerId != null) { query = query.Join().Where(cr => cr.Container.Id == model.ContainerId); } diff --git a/src/Orchard.Web/Core/Contents/Routes.cs b/src/Orchard.Web/Core/Contents/Routes.cs index 0e40f779e..8ceac5787 100644 --- a/src/Orchard.Web/Core/Contents/Routes.cs +++ b/src/Orchard.Web/Core/Contents/Routes.cs @@ -16,13 +16,34 @@ namespace Orchard.Core.Contents { new RouteDescriptor { Priority = 5, Route = new Route( - "Admin/Contents/List/InContainer/{containerId}", + "Admin/Contents/List/{id}/InContainer/{containerId}", new RouteValueDictionary { {"area", "Contents"}, {"controller", "Admin"}, {"action", "List"} }, - new RouteValueDictionary(), + new RouteValueDictionary { + {"id", @"\w+"}, + {"containerId", @"\d+"} + }, + new RouteValueDictionary { + {"area", "Contents"} + }, + new MvcRouteHandler()) + }, + new RouteDescriptor { + Priority = 5, + Route = new Route( + "Admin/Contents/List/InContainer/{containerId}", + new RouteValueDictionary { + {"area", "Contents"}, + {"controller", "Admin"}, + {"action", "List"}, + {"id", ""} + }, + new RouteValueDictionary{ + {"containerId", @"\d+"} + }, new RouteValueDictionary { {"area", "Contents"} }, diff --git a/src/Orchard.Web/Modules/Orchard.Lists/Views/Items/Content-List.SummaryAdmin.cshtml b/src/Orchard.Web/Modules/Orchard.Lists/Views/Items/Content-List.SummaryAdmin.cshtml index 68b243232..ec3ef19f6 100644 --- a/src/Orchard.Web/Modules/Orchard.Lists/Views/Items/Content-List.SummaryAdmin.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Lists/Views/Items/Content-List.SummaryAdmin.cshtml @@ -8,7 +8,7 @@
-

@Html.Link(contentItemMetadata.DisplayText, Url.Action("List", "Admin", new { area = "Contents", containerId = contentItem.Id }))

+

@Html.Link(contentItemMetadata.DisplayText, Url.Action("List", "Admin", new { area = "Contents", containerId = contentItem.Id, id = "" }))

@if (Model.Header != null) {
@Display(Model.Header)
} @@ -18,7 +18,7 @@