From 43207afcd83df87e30796b05d65f59bfa3a6f3cb Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Wed, 9 Feb 2011 08:37:47 -0800 Subject: [PATCH 1/4] Fixing Email pending filter in admin --HG-- branch : dev --- .../Modules/Orchard.Users/Controllers/AdminController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs index f54c58d89..11c1227fc 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs @@ -66,7 +66,7 @@ namespace Orchard.Users.Controllers { users = users.Where(u => u.RegistrationStatus == UserStatus.Pending); break; case UsersFilter.EmailPending: - users = users.Where(u => u.EmailStatus == UserStatus.Approved); + users = users.Where(u => u.EmailStatus == UserStatus.Pending); break; } From a8ebbd7af9f6d1f460b7c21e088f636f611dcf13 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Wed, 9 Feb 2011 15:01:03 -0800 Subject: [PATCH 2/4] Adding predicate in placement files Can use * at the end of the string Path="/" matches the homepage --HG-- branch : dev extra : transplant_source : %FA%B8%DB%0D%DDI%9DbP%BC%D8%F6%B31j%24%BB%E6%AD%FE --- src/Orchard/ContentManagement/DefaultContentDisplay.cs | 3 +++ .../DisplayManagement/Descriptors/ShapeAlterationBuilder.cs | 1 + .../ShapePlacementStrategy/ShapePlacementParsingStrategy.cs | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/src/Orchard/ContentManagement/DefaultContentDisplay.cs b/src/Orchard/ContentManagement/DefaultContentDisplay.cs index cb03ce034..2f59d16c5 100644 --- a/src/Orchard/ContentManagement/DefaultContentDisplay.cs +++ b/src/Orchard/ContentManagement/DefaultContentDisplay.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Web; using System.Web.Routing; using ClaySharp.Implementation; using Orchard.ContentManagement.Handlers; @@ -100,6 +101,7 @@ namespace Orchard.ContentManagement { //var theme = workContext.CurrentTheme; var theme = _themeService.Value.GetRequestTheme(_requestContext); var shapeTable = _shapeTableManager.GetShapeTable(theme.Id); + var request = _requestContext.HttpContext.Request; ShapeDescriptor descriptor; if (shapeTable.Descriptors.TryGetValue(partShapeType, out descriptor)) { @@ -107,6 +109,7 @@ namespace Orchard.ContentManagement { ContentType = context.ContentItem.ContentType, DisplayType = displayType, Differentiator = differentiator, + Path = request.Path.Substring((request.ApplicationPath ?? "").Length) }; var location = descriptor.Placement(placementContext); return location ?? defaultLocation; diff --git a/src/Orchard/DisplayManagement/Descriptors/ShapeAlterationBuilder.cs b/src/Orchard/DisplayManagement/Descriptors/ShapeAlterationBuilder.cs index 5bb361e0f..f5799ac8d 100644 --- a/src/Orchard/DisplayManagement/Descriptors/ShapeAlterationBuilder.cs +++ b/src/Orchard/DisplayManagement/Descriptors/ShapeAlterationBuilder.cs @@ -111,5 +111,6 @@ namespace Orchard.DisplayManagement.Descriptors { public string ContentType { get; set; } public string DisplayType { get; set; } public string Differentiator { get; set; } + public string Path { get; set; } } } diff --git a/src/Orchard/DisplayManagement/Descriptors/ShapePlacementStrategy/ShapePlacementParsingStrategy.cs b/src/Orchard/DisplayManagement/Descriptors/ShapePlacementStrategy/ShapePlacementParsingStrategy.cs index b7761a785..3275b32ae 100644 --- a/src/Orchard/DisplayManagement/Descriptors/ShapePlacementStrategy/ShapePlacementParsingStrategy.cs +++ b/src/Orchard/DisplayManagement/Descriptors/ShapePlacementStrategy/ShapePlacementParsingStrategy.cs @@ -98,6 +98,12 @@ namespace Orchard.DisplayManagement.Descriptors.ShapePlacementStrategy { return ctx => (ctx.DisplayType ?? "").StartsWith(prefix) && predicate(ctx); } return ctx => (ctx.DisplayType == expression) && predicate(ctx); + case "Path": + if (expression.EndsWith("*")) { + var prefix = expression.Substring(0, expression.Length - 1); + return ctx => (ctx.Path ?? "").StartsWith(prefix, StringComparison.OrdinalIgnoreCase) && predicate(ctx); + } + return ctx => (ctx.Path.Equals(expression, StringComparison.OrdinalIgnoreCase)) && predicate(ctx); } return predicate; } From f7c2e49c72456bc4fcc5cb39fbb29773a084004c Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Wed, 9 Feb 2011 16:50:29 -0800 Subject: [PATCH 3/4] Adding a placement.info file in TheThemeMachine, and in codegen --HG-- branch : dev --- .../CodeGenerationTemplates/Placement.info | 17 +++++++++++++++++ .../Commands/CodeGenerationCommands.cs | 3 +++ .../Orchard.CodeGeneration.csproj | 3 +++ .../Themes/TheThemeMachine/Placement.info | 17 +++++++++++++++++ src/Orchard.Web/Themes/Themes.csproj | 3 +++ 5 files changed, 43 insertions(+) create mode 100644 src/Orchard.Web/Modules/Orchard.CodeGeneration/CodeGenerationTemplates/Placement.info create mode 100644 src/Orchard.Web/Themes/TheThemeMachine/Placement.info diff --git a/src/Orchard.Web/Modules/Orchard.CodeGeneration/CodeGenerationTemplates/Placement.info b/src/Orchard.Web/Modules/Orchard.CodeGeneration/CodeGenerationTemplates/Placement.info new file mode 100644 index 000000000..0eab3bada --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.CodeGeneration/CodeGenerationTemplates/Placement.info @@ -0,0 +1,17 @@ + + + + + diff --git a/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs b/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs index 245c39bba..b3a836035 100644 --- a/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs +++ b/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs @@ -312,6 +312,9 @@ namespace Orchard.CodeGeneration.Commands { File.WriteAllBytes(themePath + "Theme.png", File.ReadAllBytes(_codeGenTemplatePath + "Theme.png")); createdFiles.Add(themePath + "Theme.png"); + File.WriteAllText(themePath + "Placement.info", File.ReadAllText(_codeGenTemplatePath + "Placement.info")); + createdFiles.Add(themePath + "Placement.info"); + // create new csproj for the theme if (projectGuid != null) { var itemGroup = CreateProjectItemGroup(themePath, createdFiles, createdFolders); diff --git a/src/Orchard.Web/Modules/Orchard.CodeGeneration/Orchard.CodeGeneration.csproj b/src/Orchard.Web/Modules/Orchard.CodeGeneration/Orchard.CodeGeneration.csproj index 70df50651..b490060bf 100644 --- a/src/Orchard.Web/Modules/Orchard.CodeGeneration/Orchard.CodeGeneration.csproj +++ b/src/Orchard.Web/Modules/Orchard.CodeGeneration/Orchard.CodeGeneration.csproj @@ -79,6 +79,9 @@ + + + + + + diff --git a/src/Orchard.Web/Themes/Themes.csproj b/src/Orchard.Web/Themes/Themes.csproj index edd3c2d09..8af254cc7 100644 --- a/src/Orchard.Web/Themes/Themes.csproj +++ b/src/Orchard.Web/Themes/Themes.csproj @@ -116,6 +116,9 @@ Designer + + +