From 9d7450d444016cfe352986998a86dbbe366b3594 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 6 Jan 2014 17:27:41 -0800 Subject: [PATCH] Chaining Site.SuperUser to the actual User object --- .../Core/Settings/Tokens/SettingsTokens.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Orchard.Web/Core/Settings/Tokens/SettingsTokens.cs b/src/Orchard.Web/Core/Settings/Tokens/SettingsTokens.cs index 7caee80e0..65cc76b4e 100644 --- a/src/Orchard.Web/Core/Settings/Tokens/SettingsTokens.cs +++ b/src/Orchard.Web/Core/Settings/Tokens/SettingsTokens.cs @@ -4,6 +4,7 @@ using Orchard.ContentManagement; using Orchard.ContentManagement.MetaData; using Orchard.Events; using Orchard.Localization; +using Orchard.Security; using Orchard.Settings; using Orchard.ContentManagement.FieldStorage; @@ -16,10 +17,15 @@ namespace Orchard.Core.Settings.Tokens { public class SettingsTokens : ITokenProvider { private readonly IOrchardServices _orchardServices; private readonly IContentDefinitionManager _contentDefinitionManager; + private readonly IMembershipService _membershipService; - public SettingsTokens(IOrchardServices orchardServices, IContentDefinitionManager contentDefinitionManager) { + public SettingsTokens( + IOrchardServices orchardServices, + IContentDefinitionManager contentDefinitionManager, + IMembershipService membershipService) { _orchardServices = orchardServices; _contentDefinitionManager = contentDefinitionManager; + _membershipService = membershipService; } public Localizer T { get; set; } @@ -28,7 +34,7 @@ namespace Orchard.Core.Settings.Tokens { context.For("Site", T("Site Settings"), T("Tokens for Site Settings")) .Token("SiteName", T("Site Name"), T("The name of the site."), "Text") - .Token("SuperUser", T("Super User"), T("The name of the super user."), "Text") + .Token("SuperUser", T("Super User"), T("The super user of the site."), "Text") .Token("Culture", T("Site Culture"), T("The current culture of the site."), "Text") .Token("BaseUrl", T("Base Url"), T("The base url the site."), "Text") .Token("TimeZone", T("Time Zone"), T("The current time zone of the site."), "Text") @@ -56,7 +62,7 @@ namespace Orchard.Core.Settings.Tokens { .Token("SiteName", (Func)(content => content.SiteName)) .Chain("SiteName", "Text", (Func)(content => content.SiteName)) .Token("SuperUser", (Func)(content => content.SuperUser)) - .Chain("SuperUser", "Text", (Func)(content => content.SuperUser)) + .Chain("SuperUser", "User", (Func)(content => _membershipService.GetUser(content.SuperUser))) .Token("Culture", (Func)(content => content.SiteCulture)) .Chain("Culture", "Text", (Func)(content => content.SiteCulture)) .Token("BaseUrl", (Func)(content => content.BaseUrl))