From 66700d9871342098ccd4bfc989efe778947efdda Mon Sep 17 00:00:00 2001 From: loudej Date: Fri, 20 Nov 2009 00:04:08 +0000 Subject: [PATCH] Getting the devtools details page to show display templates in addition to editor templates --HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4041468 --- .../Controllers/ContentController.cs | 1 + .../Orchard.DevTools/Models/DebugLinkHandler.cs | 12 +----------- .../Orchard.DevTools/Models/ShowDebugLink.cs | 7 +++++++ .../Orchard.DevTools/Orchard.DevTools.csproj | 1 + .../ViewModels/ContentDetailsViewModel.cs | 2 ++ .../Orchard.DevTools/Views/Content/Details.aspx | 15 +++++++++++++++ 6 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 src/Orchard.Web/Packages/Orchard.DevTools/Models/ShowDebugLink.cs diff --git a/src/Orchard.Web/Packages/Orchard.DevTools/Controllers/ContentController.cs b/src/Orchard.Web/Packages/Orchard.DevTools/Controllers/ContentController.cs index 213d6c958..ecffc1391 100644 --- a/src/Orchard.Web/Packages/Orchard.DevTools/Controllers/ContentController.cs +++ b/src/Orchard.Web/Packages/Orchard.DevTools/Controllers/ContentController.cs @@ -41,6 +41,7 @@ namespace Orchard.DevTools.Controllers .Select(x => x.GetType()) .SelectMany(x => AllTypes(x)) .Distinct(); + model.Displays = _contentManager.GetDisplays(model.Item); model.Editors = _contentManager.GetEditors(model.Item); return View(model); diff --git a/src/Orchard.Web/Packages/Orchard.DevTools/Models/DebugLinkHandler.cs b/src/Orchard.Web/Packages/Orchard.DevTools/Models/DebugLinkHandler.cs index 09d16ef8e..5129701b8 100644 --- a/src/Orchard.Web/Packages/Orchard.DevTools/Models/DebugLinkHandler.cs +++ b/src/Orchard.Web/Packages/Orchard.DevTools/Models/DebugLinkHandler.cs @@ -1,17 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using Orchard.Models; -using Orchard.Models.Driver; +using Orchard.Models.Driver; using Orchard.UI.Models; namespace Orchard.DevTools.Models { - - public class ShowDebugLink { - public ContentItem ContentItem { get; set; } - } - public class DebugLinkHandler : ContentHandler { protected override void GetDisplays(GetDisplaysContext context) { context.Displays.Add(new ModelTemplate { Model = new ShowDebugLink { ContentItem = context.ContentItem } }); diff --git a/src/Orchard.Web/Packages/Orchard.DevTools/Models/ShowDebugLink.cs b/src/Orchard.Web/Packages/Orchard.DevTools/Models/ShowDebugLink.cs new file mode 100644 index 000000000..d97677daa --- /dev/null +++ b/src/Orchard.Web/Packages/Orchard.DevTools/Models/ShowDebugLink.cs @@ -0,0 +1,7 @@ +using Orchard.Models; + +namespace Orchard.DevTools.Models { + public class ShowDebugLink { + public ContentItem ContentItem { get; set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.DevTools/Orchard.DevTools.csproj b/src/Orchard.Web/Packages/Orchard.DevTools/Orchard.DevTools.csproj index 701f44f7f..58862f194 100644 --- a/src/Orchard.Web/Packages/Orchard.DevTools/Orchard.DevTools.csproj +++ b/src/Orchard.Web/Packages/Orchard.DevTools/Orchard.DevTools.csproj @@ -65,6 +65,7 @@ + diff --git a/src/Orchard.Web/Packages/Orchard.DevTools/ViewModels/ContentDetailsViewModel.cs b/src/Orchard.Web/Packages/Orchard.DevTools/ViewModels/ContentDetailsViewModel.cs index 2dc2e7cf0..309fd1366 100644 --- a/src/Orchard.Web/Packages/Orchard.DevTools/ViewModels/ContentDetailsViewModel.cs +++ b/src/Orchard.Web/Packages/Orchard.DevTools/ViewModels/ContentDetailsViewModel.cs @@ -13,6 +13,8 @@ namespace Orchard.DevTools.ViewModels { public IEnumerable PartTypes { get; set; } + public IEnumerable Displays { get; set; } + public IEnumerable Editors { get; set; } public object Locate(Type type) { diff --git a/src/Orchard.Web/Packages/Orchard.DevTools/Views/Content/Details.aspx b/src/Orchard.Web/Packages/Orchard.DevTools/Views/Content/Details.aspx index 155e976bc..d31519dbe 100644 --- a/src/Orchard.Web/Packages/Orchard.DevTools/Views/Content/Details.aspx +++ b/src/Orchard.Web/Packages/Orchard.DevTools/Views/Content/Details.aspx @@ -82,6 +82,21 @@ <% }%> +

+ Displays

+
    + <%foreach (var display in Model.Displays) {%> +
  • + <%=Html.Encode(display.Prefix)%> + <%=Html.Encode(display.Model.GetType().Name)%> + (<%=Html.Encode(display.Model.GetType().Namespace)%>) +
    + <%=Html.DisplayFor(x => display.Model, display.TemplateName, display.Prefix)%> +
    +
  • + <% + }%> +