From dec44b1288569c0674a98e6cc9a8a7cfb6ea9876 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 26 Sep 2017 09:20:38 +0200 Subject: [PATCH] Moved templateConfig to root node --- .../ContentEditing/ContentItemDisplay.cs | 3 +++ .../Models/Mapping/ContentModelMapper.cs | 25 ++++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web/Models/ContentEditing/ContentItemDisplay.cs b/src/Umbraco.Web/Models/ContentEditing/ContentItemDisplay.cs index 5d424e4dd3..197f5e88d1 100644 --- a/src/Umbraco.Web/Models/ContentEditing/ContentItemDisplay.cs +++ b/src/Umbraco.Web/Models/ContentEditing/ContentItemDisplay.cs @@ -28,6 +28,9 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "template")] public string TemplateAlias { get; set; } + + [DataMember(Name = "allowedTemplates")] + public object TemplateConfig { get; set; } [DataMember(Name = "urls")] public string[] Urls { get; set; } diff --git a/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs b/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs index 1809bffd3d..68448ba4de 100644 --- a/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs @@ -38,6 +38,7 @@ namespace Umbraco.Web.Models.Mapping .ForMember(display => display.Trashed, expression => expression.MapFrom(content => content.Trashed)) .ForMember(display => display.PublishDate, expression => expression.MapFrom(content => GetPublishedDate(content))) .ForMember(display => display.TemplateAlias, expression => expression.MapFrom(content => content.Template.Alias)) + .ForMember(display => display.TemplateConfig, expression => expression.ResolveUsing(content => AvailableTemplates(content, applicationContext.Services.TextService))) .ForMember(display => display.HasPublishedVersion, expression => expression.MapFrom(content => content.HasPublishedVersion)) .ForMember(display => display.Urls, expression => expression.MapFrom(content => @@ -106,14 +107,6 @@ namespace Umbraco.Web.Models.Mapping display.TreeNodeUrl = url; } - //fill in the template config to be passed to the template drop down. - var templateItemConfig = new Dictionary {{"", localizedText.Localize("general/choose")}}; - foreach (var t in content.ContentType.AllowedTemplates - .Where(t => t.Alias.IsNullOrWhiteSpace() == false && t.Name.IsNullOrWhiteSpace() == false)) - { - templateItemConfig.Add(t.Alias, t.Name); - } - if (content.ContentType.IsContainer) { TabsAndPropertiesResolver.AddListView(display, "content", dataTypeService, localizedText); @@ -162,7 +155,7 @@ namespace Umbraco.Web.Models.Mapping View = "dropdown", //TODO: Hard coding until we make a real dropdown property editor to lookup Config = new Dictionary { - {"items", templateItemConfig} + {"items", ""} } } }; @@ -245,5 +238,19 @@ namespace Umbraco.Web.Models.Mapping return permissions; } } + + + private static Dictionary AvailableTemplates(IContent content, ILocalizedTextService localizedText) + { + //fill in the template config to be passed to the template drop down. + var templateItemConfig = new Dictionary { { "", localizedText.Localize("general/choose") } }; + foreach (var t in content.ContentType.AllowedTemplates + .Where(t => t.Alias.IsNullOrWhiteSpace() == false && t.Name.IsNullOrWhiteSpace() == false)) + { + templateItemConfig.Add(t.Alias, t.Name); + } + + return templateItemConfig; + } } } \ No newline at end of file