From 4521f0d1c4f5d56f4d7070b4a283ee0c10aa2784 Mon Sep 17 00:00:00 2001 From: Andre Rodrigues Date: Thu, 9 Jun 2011 15:36:03 -0700 Subject: [PATCH] #17925: Setup service was still setting the current theme to be the theme machine. Not doing that. Recipes explicitly set the current theme. Fixing small issue on themes page if no theme is set. Extending safe theme to include minimum zones to make the core recipe homepage look "decent" / usable. --HG-- branch : 1.x --- .../Orchard.Setup/Recipes/blog.recipe.xml | 5 ++-- .../Orchard.Setup/Recipes/default.recipe.xml | 5 ++-- .../Orchard.Setup/Services/SetupService.cs | 14 ++++----- .../Controllers/AdminController.cs | 11 +++++-- .../Themes/SafeMode/Views/Layout.cshtml | 30 +++++++++++++++++-- 5 files changed, 47 insertions(+), 18 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml b/src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml index 7ce6a5c02..0353dcfd1 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml +++ b/src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml @@ -8,7 +8,7 @@ blog 1.0 - + - + @@ -53,5 +53,6 @@ widget create HtmlWidget /Title:"Third Leader Aside" /Zone:"TripelThird" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget3" /UseLoremIpsumText:true menuitem create /MenuPosition:"1" /MenuText:"Home" /Url:"" /OnMainMenu:true site setting set baseurl + theme activate "The Theme Machine" diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Recipes/default.recipe.xml b/src/Orchard.Web/Modules/Orchard.Setup/Recipes/default.recipe.xml index 870490142..15629f964 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Recipes/default.recipe.xml +++ b/src/Orchard.Web/Modules/Orchard.Setup/Recipes/default.recipe.xml @@ -8,14 +8,14 @@ 1.0 - + - + @@ -49,5 +49,6 @@ widget create HtmlWidget /Title:"Third Leader Aside" /Zone:"TripelThird" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget3" /UseLoremIpsumText:true menuitem create /MenuPosition:"1" /MenuText:"Home" /Url:"" /OnMainMenu:true site setting set baseurl + theme activate "The Theme Machine" diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs index 628ce21b8..15d7277e0 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs +++ b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs @@ -7,13 +7,15 @@ using Orchard.ContentManagement; using Orchard.Core.Settings.Descriptor.Records; using Orchard.Core.Settings.Models; using Orchard.Data; +using Orchard.Data.Migration; using Orchard.Data.Migration.Interpreters; using Orchard.Data.Migration.Schema; using Orchard.Environment; using Orchard.Environment.Configuration; -using Orchard.Environment.ShellBuilders; using Orchard.Environment.Descriptor; using Orchard.Environment.Descriptor.Models; +using Orchard.Environment.ShellBuilders; +using Orchard.Environment.State; using Orchard.Localization; using Orchard.Localization.Services; using Orchard.Recipes.Models; @@ -21,9 +23,6 @@ using Orchard.Recipes.Services; using Orchard.Reports.Services; using Orchard.Security; using Orchard.Settings; -using Orchard.Environment.State; -using Orchard.Data.Migration; -using Orchard.Themes.Services; using Orchard.Utility.Extensions; namespace Orchard.Setup.Services { @@ -172,6 +171,7 @@ namespace Orchard.Setup.Services { private string CreateTenantData(SetupContext context, IWorkContextScope environment) { string executionId = null; + // create superuser var membershipService = environment.Resolve(); var user = @@ -191,10 +191,6 @@ namespace Orchard.Setup.Services { siteSettings.Record.SuperUser = context.AdminUsername; siteSettings.Record.SiteCulture = "en-US"; - // set site theme - var themeService = environment.Resolve(); - themeService.SetSiteTheme("TheThemeMachine"); - // add default culture var cultureManager = environment.Resolve(); cultureManager.AddCulture("en-US"); @@ -202,7 +198,7 @@ namespace Orchard.Setup.Services { var recipeManager = environment.Resolve(); executionId = recipeManager.Execute(Recipes().Where(r => r.Name.Equals(context.Recipe, StringComparison.OrdinalIgnoreCase)).FirstOrDefault()); - //null check: temporary fix for running setup in command line + // null check: temporary fix for running setup in command line if (HttpContext.Current != null) { authenticationService.SignIn(user, true); } diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs index 5d39bb074..9e93f78e7 100644 --- a/src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs @@ -69,7 +69,13 @@ namespace Orchard.Themes.Controllers { bool installThemes = _featureManager.GetEnabledFeatures().FirstOrDefault(f => f.Id == "PackagingServices") != null; var featuresThatNeedUpdate = _dataMigrationManager.GetFeaturesThatNeedUpdate(); - ThemeEntry currentTheme = new ThemeEntry(_siteThemeService.GetSiteTheme()); + + ThemeEntry currentTheme = null; + ExtensionDescriptor currentThemeDescriptor = _siteThemeService.GetSiteTheme(); + if (currentThemeDescriptor != null) { + currentTheme = new ThemeEntry(currentThemeDescriptor); + } + IEnumerable themes = _extensionManager.AvailableExtensions() .Where(extensionDescriptor => { bool hidden = false; @@ -80,7 +86,8 @@ namespace Orchard.Themes.Controllers { return !hidden && DefaultExtensionTypes.IsTheme(extensionDescriptor.ExtensionType) && - !currentTheme.Descriptor.Id.Equals(extensionDescriptor.Id); + (currentTheme == null || + !currentTheme.Descriptor.Id.Equals(extensionDescriptor.Id)); }) .Select(extensionDescriptor => { ThemeEntry themeEntry = new ThemeEntry(extensionDescriptor) { diff --git a/src/Orchard.Web/Themes/SafeMode/Views/Layout.cshtml b/src/Orchard.Web/Themes/SafeMode/Views/Layout.cshtml index 5d37c838c..7e73a7a1d 100644 --- a/src/Orchard.Web/Themes/SafeMode/Views/Layout.cshtml +++ b/src/Orchard.Web/Themes/SafeMode/Views/Layout.cshtml @@ -3,13 +3,37 @@ Script.Require("ShapesBase"); Style.Include("site.css"); RegisterLink(new LinkEntry { Condition = "lte IE 6", Rel = "stylesheet", Type="text/css", Href = Href("../Styles/ie6.css")}.AddAttribute("media", "screen, projection")); + + if (!string.IsNullOrEmpty(WorkContext.CurrentSite.SuperUser)) { + WorkContext.Layout.Footer.Add(New.User(), "10"); // Login and dashboard links + } } -@Display(Model.Messages) + +@if (Model.Navigation != null) { +
+ @Display(Model.Navigation) +
+} + +@if (Model.Messages != null) { +
+ @Display(Model.Messages) +
+} +
-@Display(Model.Content) -
\ No newline at end of file +@if (Model.Content != null) { + @Display(Model.Content) +} + + +@if (Model.Footer != null) { + +} \ No newline at end of file