diff --git a/src/Orchard.Core.Tests/Body/BodyPartTests.cs b/src/Orchard.Core.Tests/Body/BodyPartTests.cs index 17fa1bbf4..4887f978c 100644 --- a/src/Orchard.Core.Tests/Body/BodyPartTests.cs +++ b/src/Orchard.Core.Tests/Body/BodyPartTests.cs @@ -22,6 +22,7 @@ using Orchard.Security; using Orchard.Tests.Modules; using Orchard.Tests.Stubs; using Orchard.UI.Notify; +using Orchard.UI.PageClass; namespace Orchard.Core.Tests.Body { [TestFixture] @@ -46,6 +47,8 @@ namespace Orchard.Core.Tests.Body { builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); + } [Test] diff --git a/src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs b/src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs index 54153be75..5b8028c3a 100644 --- a/src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs +++ b/src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs @@ -39,6 +39,7 @@ using Orchard.Tests.Modules; using System.Web.Mvc; using Orchard.Tests.Stubs; using Orchard.Themes; +using Orchard.UI.PageClass; namespace Orchard.Core.Tests.Common.Providers { [TestFixture] @@ -75,6 +76,7 @@ namespace Orchard.Core.Tests.Common.Providers { CurrentTheme = new ExtensionDescriptor { Id = "Hello" } }; builder.RegisterInstance(new DefaultDisplayManagerTests.TestWorkContextAccessor(workContext)).As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); DefaultShapeTableManagerTests.TestShapeProvider.FeatureShapes = new Dictionary> { diff --git a/src/Orchard.Core.Tests/Scheduling/ScheduledTaskExecutorTests.cs b/src/Orchard.Core.Tests/Scheduling/ScheduledTaskExecutorTests.cs index 223915dd1..c06a42cd8 100644 --- a/src/Orchard.Core.Tests/Scheduling/ScheduledTaskExecutorTests.cs +++ b/src/Orchard.Core.Tests/Scheduling/ScheduledTaskExecutorTests.cs @@ -17,6 +17,7 @@ using Orchard.Tasks; using Orchard.Tasks.Scheduling; using Orchard.Tests.Modules; using Orchard.Tests.Stubs; +using Orchard.UI.PageClass; namespace Orchard.Core.Tests.Scheduling { [TestFixture] @@ -45,6 +46,7 @@ namespace Orchard.Core.Tests.Scheduling { builder.RegisterInstance(_handler).As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); } diff --git a/src/Orchard.Core.Tests/Scheduling/ScheduledTaskManagerTests.cs b/src/Orchard.Core.Tests/Scheduling/ScheduledTaskManagerTests.cs index 5b4609035..a6dea820c 100644 --- a/src/Orchard.Core.Tests/Scheduling/ScheduledTaskManagerTests.cs +++ b/src/Orchard.Core.Tests/Scheduling/ScheduledTaskManagerTests.cs @@ -17,6 +17,7 @@ using Orchard.Environment.Extensions; using Orchard.Tasks.Scheduling; using Orchard.Tests.Modules; using Orchard.Tests.Stubs; +using Orchard.UI.PageClass; namespace Orchard.Core.Tests.Scheduling { [TestFixture] @@ -48,6 +49,7 @@ namespace Orchard.Core.Tests.Scheduling { builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); } diff --git a/src/Orchard.Tests.Modules/Comments/Services/CommentServiceTests.cs b/src/Orchard.Tests.Modules/Comments/Services/CommentServiceTests.cs index 11bff495c..acef890d8 100644 --- a/src/Orchard.Tests.Modules/Comments/Services/CommentServiceTests.cs +++ b/src/Orchard.Tests.Modules/Comments/Services/CommentServiceTests.cs @@ -23,6 +23,7 @@ using Orchard.Environment.Extensions; using Orchard.Security; using Orchard.Tests.Stubs; using Orchard.UI.Notify; +using Orchard.UI.PageClass; namespace Orchard.Tests.Modules.Comments.Services { [TestFixture] @@ -49,6 +50,7 @@ namespace Orchard.Tests.Modules.Comments.Services { builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)); } diff --git a/src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs b/src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs index e51772e86..e9af8e6f2 100644 --- a/src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs +++ b/src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs @@ -23,6 +23,7 @@ using Orchard.Messaging.Services; using Orchard.Security; using Orchard.Tests.Stubs; using Orchard.Tests.Utility; +using Orchard.UI.PageClass; using Orchard.Users.Handlers; using Orchard.Users.Models; using Orchard.Users.Services; @@ -84,6 +85,7 @@ namespace Orchard.Tests.Modules.Users.Services { builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); _session = _sessionFactory.OpenSession(); diff --git a/src/Orchard.Tests.Modules/Users/Services/UserServiceTests.cs b/src/Orchard.Tests.Modules/Users/Services/UserServiceTests.cs index bd95c6001..0d2f5245b 100644 --- a/src/Orchard.Tests.Modules/Users/Services/UserServiceTests.cs +++ b/src/Orchard.Tests.Modules/Users/Services/UserServiceTests.cs @@ -25,6 +25,7 @@ using Orchard.Security; using Orchard.Security.Providers; using Orchard.Tests.Stubs; using Orchard.Tests.Utility; +using Orchard.UI.PageClass; using Orchard.Users.Handlers; using Orchard.Users.Models; using Orchard.Users.Services; @@ -96,6 +97,7 @@ namespace Orchard.Tests.Modules.Users.Services { builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); builder.RegisterType().As(); diff --git a/src/Orchard.Tests.Modules/Widgets/Services/WidgetsServiceTest.cs b/src/Orchard.Tests.Modules/Widgets/Services/WidgetsServiceTest.cs index fb76bd3ff..16fac46d9 100644 --- a/src/Orchard.Tests.Modules/Widgets/Services/WidgetsServiceTest.cs +++ b/src/Orchard.Tests.Modules/Widgets/Services/WidgetsServiceTest.cs @@ -21,6 +21,7 @@ using Orchard.Environment.Features; using Orchard.Security; using Orchard.Tests.Stubs; using Orchard.UI.Notify; +using Orchard.UI.PageClass; using Orchard.Widgets.Models; using Orchard.Widgets.Services; @@ -103,6 +104,7 @@ namespace Orchard.Tests.Modules.Widgets.Services { builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); } diff --git a/src/Orchard.Tests/ContentManagement/ContentQueryTests.cs b/src/Orchard.Tests/ContentManagement/ContentQueryTests.cs index 64e366466..23240ca6e 100644 --- a/src/Orchard.Tests/ContentManagement/ContentQueryTests.cs +++ b/src/Orchard.Tests/ContentManagement/ContentQueryTests.cs @@ -17,6 +17,7 @@ using Orchard.Tests.ContentManagement.Models; using Orchard.DisplayManagement.Implementation; using Orchard.Tests.Stubs; using NHibernate.Impl; +using Orchard.UI.PageClass; namespace Orchard.Tests.ContentManagement { [TestFixture] @@ -63,6 +64,7 @@ namespace Orchard.Tests.ContentManagement { builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); _session = _sessionFactory.OpenSession(); diff --git a/src/Orchard.Tests/ContentManagement/DefaultContentManagerTests.cs b/src/Orchard.Tests/ContentManagement/DefaultContentManagerTests.cs index deaf231a3..ee6178ca9 100644 --- a/src/Orchard.Tests/ContentManagement/DefaultContentManagerTests.cs +++ b/src/Orchard.Tests/ContentManagement/DefaultContentManagerTests.cs @@ -21,6 +21,7 @@ using Orchard.DisplayManagement.Implementation; using Orchard.DisplayManagement; using System.Collections.Generic; using Orchard.Tests.Stubs; +using Orchard.UI.PageClass; namespace Orchard.Tests.ContentManagement { [TestFixture] @@ -71,6 +72,7 @@ namespace Orchard.Tests.ContentManagement { builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); builder.RegisterType().As(); diff --git a/src/Orchard.Tests/ContentManagement/DynamicContentQueryTests.cs b/src/Orchard.Tests/ContentManagement/DynamicContentQueryTests.cs index 2b1df1716..da800b750 100644 --- a/src/Orchard.Tests/ContentManagement/DynamicContentQueryTests.cs +++ b/src/Orchard.Tests/ContentManagement/DynamicContentQueryTests.cs @@ -16,6 +16,7 @@ using Orchard.Tests.ContentManagement.Records; using Orchard.Tests.ContentManagement.Models; using Orchard.DisplayManagement.Implementation; using Orchard.Tests.Stubs; +using Orchard.UI.PageClass; namespace Orchard.Tests.ContentManagement { [TestFixture] @@ -62,6 +63,7 @@ namespace Orchard.Tests.ContentManagement { builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); _session = _sessionFactory.OpenSession(); diff --git a/src/Orchard.Tests/ContentManagement/HqlExpressionTests.cs b/src/Orchard.Tests/ContentManagement/HqlExpressionTests.cs index 24d0be972..d985fae98 100644 --- a/src/Orchard.Tests/ContentManagement/HqlExpressionTests.cs +++ b/src/Orchard.Tests/ContentManagement/HqlExpressionTests.cs @@ -18,6 +18,7 @@ using Orchard.Tests.ContentManagement.Records; using Orchard.Tests.ContentManagement.Models; using Orchard.DisplayManagement.Implementation; using Orchard.Tests.Stubs; +using Orchard.UI.PageClass; namespace Orchard.Tests.ContentManagement { [TestFixture] @@ -66,6 +67,7 @@ namespace Orchard.Tests.ContentManagement { builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); _session = _sessionFactory.OpenSession(); diff --git a/src/Orchard.Tests/DisplayManagement/Descriptors/DefaultShapeTableManagerTests.cs b/src/Orchard.Tests/DisplayManagement/Descriptors/DefaultShapeTableManagerTests.cs index f12c39490..decd47bf7 100644 --- a/src/Orchard.Tests/DisplayManagement/Descriptors/DefaultShapeTableManagerTests.cs +++ b/src/Orchard.Tests/DisplayManagement/Descriptors/DefaultShapeTableManagerTests.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Autofac; +using Moq; using NUnit.Framework; using Orchard.Caching; using Orchard.ContentManagement; @@ -11,6 +12,7 @@ using Orchard.DisplayManagement.Implementation; using Orchard.Environment.Extensions; using Orchard.Environment.Extensions.Models; using Orchard.Tests.Stubs; +using Orchard.UI.PageClass; namespace Orchard.Tests.DisplayManagement.Descriptors { [TestFixture] @@ -57,6 +59,7 @@ namespace Orchard.Tests.DisplayManagement.Descriptors { .As() .InstancePerLifetimeScope(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); } diff --git a/src/Orchard.Web/Core/Contents/Views/Content.Edit.cshtml b/src/Orchard.Web/Core/Contents/Views/Content.Edit.cshtml index 51b7eef17..534856f87 100644 --- a/src/Orchard.Web/Core/Contents/Views/Content.Edit.cshtml +++ b/src/Orchard.Web/Core/Contents/Views/Content.Edit.cshtml @@ -1,10 +1,4 @@ -@using Orchard.ContentManagement -@using Orchard.Utility.Extensions -@{ - ContentItem contentItem = Model.ContentItem; - Html.AddPageClassNames("edit-" + contentItem.ContentType.HtmlClassify()); -} -
+
@if (Model.Content != null) {
diff --git a/src/Orchard.Web/Core/Contents/Views/Content.cshtml b/src/Orchard.Web/Core/Contents/Views/Content.cshtml index 76c0483eb..e8c800f77 100644 --- a/src/Orchard.Web/Core/Contents/Views/Content.cshtml +++ b/src/Orchard.Web/Core/Contents/Views/Content.cshtml @@ -5,7 +5,6 @@ } var contentTypeClassName = ((string)Model.ContentItem.ContentType).HtmlClassify(); - Html.AddPageClassNames("display-" + contentTypeClassName); }
diff --git a/src/Orchard.Web/Modules/Orchard.Projections/Tests/Orchard.Projections.Tests.csproj b/src/Orchard.Web/Modules/Orchard.Projections/Tests/Orchard.Projections.Tests.csproj index 3402825e3..d4869157c 100644 --- a/src/Orchard.Web/Modules/Orchard.Projections/Tests/Orchard.Projections.Tests.csproj +++ b/src/Orchard.Web/Modules/Orchard.Projections/Tests/Orchard.Projections.Tests.csproj @@ -42,6 +42,10 @@ False ..\..\..\..\..\lib\nhibernate\Iesi.Collections.dll + + False + ..\..\..\..\..\lib\moq\Moq.dll + False ..\..\..\..\..\lib\nhibernate\NHibernate.dll diff --git a/src/Orchard.Web/Modules/Orchard.Projections/Tests/Services/FieldIndexServiceTests.cs b/src/Orchard.Web/Modules/Orchard.Projections/Tests/Services/FieldIndexServiceTests.cs index 0b0413f3c..979d2dceb 100644 --- a/src/Orchard.Web/Modules/Orchard.Projections/Tests/Services/FieldIndexServiceTests.cs +++ b/src/Orchard.Web/Modules/Orchard.Projections/Tests/Services/FieldIndexServiceTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using Autofac; +using Moq; using NUnit.Framework; using Orchard.Caching; using Orchard.ContentManagement; @@ -18,6 +19,7 @@ using Orchard.Projections.Models; using Orchard.Projections.Services; using Orchard.Tests; using Orchard.Tests.Stubs; +using Orchard.UI.PageClass; namespace Orchard.Projections.Tests.Services { [TestFixture] @@ -40,6 +42,7 @@ namespace Orchard.Projections.Tests.Services { // ContentDefinitionManager builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); diff --git a/src/Orchard.Web/Modules/Orchard.Projections/Tests/Services/FieldIndexStorageTests.cs b/src/Orchard.Web/Modules/Orchard.Projections/Tests/Services/FieldIndexStorageTests.cs index 823ceae05..fa681c5e5 100644 --- a/src/Orchard.Web/Modules/Orchard.Projections/Tests/Services/FieldIndexStorageTests.cs +++ b/src/Orchard.Web/Modules/Orchard.Projections/Tests/Services/FieldIndexStorageTests.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Autofac; +using Moq; using NUnit.Framework; using Orchard.Caching; using Orchard.ContentManagement; @@ -23,6 +24,7 @@ using Orchard.Projections.Models; using Orchard.Projections.Services; using Orchard.Tests; using Orchard.Tests.Stubs; +using Orchard.UI.PageClass; namespace Orchard.Projections.Tests.Services { public class FieldIndexStorageTests : DatabaseEnabledTestsBase { @@ -47,6 +49,7 @@ namespace Orchard.Projections.Tests.Services { // ContentDefinitionManager builder.RegisterType().As(); builder.RegisterType().As(); + builder.RegisterInstance(new Mock().Object); builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); diff --git a/src/Orchard/ContentManagement/DefaultContentDisplay.cs b/src/Orchard/ContentManagement/DefaultContentDisplay.cs index 2c9211c85..8e2dfee4d 100644 --- a/src/Orchard/ContentManagement/DefaultContentDisplay.cs +++ b/src/Orchard/ContentManagement/DefaultContentDisplay.cs @@ -7,10 +7,13 @@ using Orchard.DisplayManagement; using Orchard.DisplayManagement.Descriptors; using Orchard.FileSystems.VirtualPath; using Orchard.Logging; +using Orchard.UI.PageClass; using Orchard.UI.Zones; +using Orchard.Utility.Extensions; namespace Orchard.ContentManagement { public class DefaultContentDisplay : IContentDisplay { + private readonly IPageClassBuilder _pageClassBuilder; private readonly Lazy> _handlers; private readonly IShapeFactory _shapeFactory; private readonly Lazy _shapeTableLocator; @@ -20,13 +23,14 @@ namespace Orchard.ContentManagement { private readonly IWorkContextAccessor _workContextAccessor; public DefaultContentDisplay( + IPageClassBuilder pageClassBuilder, Lazy> handlers, IShapeFactory shapeFactory, Lazy shapeTableLocator, RequestContext requestContext, IVirtualPathProvider virtualPathProvider, IWorkContextAccessor workContextAccessor) { - + _pageClassBuilder = pageClassBuilder; _handlers = handlers; _shapeFactory = shapeFactory; _shapeTableLocator = shapeTableLocator; @@ -48,6 +52,10 @@ namespace Orchard.ContentManagement { var actualShapeType = stereotype; var actualDisplayType = string.IsNullOrWhiteSpace(displayType) ? "Detail" : displayType; + if (actualDisplayType == "Detail") { + _pageClassBuilder.AddClassNames("detail-" + content.ContentItem.ContentType.HtmlClassify()); + } + dynamic itemShape = CreateItemShape(actualShapeType); itemShape.ContentItem = content.ContentItem; itemShape.Metadata.DisplayType = actualDisplayType; @@ -69,18 +77,20 @@ namespace Orchard.ContentManagement { stereotype = "Content"; var actualShapeType = stereotype + "_Edit"; + _pageClassBuilder.AddClassNames("edit-" + content.ContentItem.ContentType.HtmlClassify()); dynamic itemShape = CreateItemShape(actualShapeType); itemShape.ContentItem = content.ContentItem; // adding an alternate for [Stereotype]_Edit__[ContentType] e.g. Content-Menu.Edit ((IShape)itemShape).Metadata.Alternates.Add(actualShapeType + "__" + content.ContentItem.ContentType); - + var context = new BuildEditorContext(itemShape, content, groupId, _shapeFactory); BindPlacement(context, null, stereotype); _handlers.Value.Invoke(handler => handler.BuildEditor(context), Logger); + return context.Shape; } @@ -91,6 +101,7 @@ namespace Orchard.ContentManagement { stereotype = "Content"; var actualShapeType = stereotype + "_Edit"; + _pageClassBuilder.AddClassNames("edit-" + content.ContentItem.ContentType.HtmlClassify()); dynamic itemShape = CreateItemShape(actualShapeType); itemShape.ContentItem = content.ContentItem;