diff --git a/src/Orchard.Web/Core/Containers/Drivers/ContainerPartDriver.cs b/src/Orchard.Web/Core/Containers/Drivers/ContainerPartDriver.cs index 1ae532412..2fc421bd6 100644 --- a/src/Orchard.Web/Core/Containers/Drivers/ContainerPartDriver.cs +++ b/src/Orchard.Web/Core/Containers/Drivers/ContainerPartDriver.cs @@ -88,6 +88,10 @@ namespace Orchard.Core.Containers.Drivers { protected override DriverResult Editor(ContainerPart part, IUpdateModel updater, dynamic shapeHelper) { return ContentShape("Parts_Container_Edit", () => { + if(!part.ContainerSettings.DisplayContainerEditor) { + return null; + } + var containables = !part.ContainerSettings.RestrictItemContentTypes ? _containerService.GetContainableTypes().ToList() : new List(0); var model = new ContainerViewModel { AdminMenuPosition = part.AdminMenuPosition, diff --git a/src/Orchard.Web/Core/Containers/Settings/ContainerSettings.cs b/src/Orchard.Web/Core/Containers/Settings/ContainerSettings.cs index 41a951565..e2cb6d121 100644 --- a/src/Orchard.Web/Core/Containers/Settings/ContainerSettings.cs +++ b/src/Orchard.Web/Core/Containers/Settings/ContainerSettings.cs @@ -48,6 +48,10 @@ namespace Orchard.Core.Containers.Settings { } public class ContainerTypePartSettings { + public ContainerTypePartSettings() { + DisplayContainerEditor = true; + } + public bool? ItemsShownDefault { get; set; } public int? PageSizeDefault { get; set; } public bool? PaginatedDefault { get; set; } @@ -55,6 +59,7 @@ namespace Orchard.Core.Containers.Settings { public bool RestrictItemContentTypes { get; set; } public bool? EnablePositioning { get; set; } public string AdminListViewName { get; set; } + public bool DisplayContainerEditor { get; set; } } public class ContainerSettingsHooks : ContentDefinitionEditorEventsBase { @@ -93,7 +98,8 @@ namespace Orchard.Core.Containers.Settings { EnablePositioning = model.EnablePositioning, AdminListViewName = model.AdminListViewName, AvailableItemContentTypes = _containerService.GetContainableTypes().ToList(), - ListViewProviders = _listViewService.Providers.ToList() + ListViewProviders = _listViewService.Providers.ToList(), + DisplayContainerEditor = model.DisplayContainerEditor }; yield return DefinitionTemplate(viewModel); @@ -122,6 +128,7 @@ namespace Orchard.Core.Containers.Settings { builder.WithSetting("ContainerTypePartSettings.RestrictItemContentTypes", viewModel.RestrictItemContentTypes.ToString()); builder.WithSetting("ContainerTypePartSettings.EnablePositioning", viewModel.EnablePositioning.ToString()); builder.WithSetting("ContainerTypePartSettings.AdminListViewName", viewModel.AdminListViewName); + builder.WithSetting("ContainerTypePartSettings.DisplayContainerEditor", viewModel.DisplayContainerEditor.ToString()); yield return DefinitionTemplate(viewModel); } diff --git a/src/Orchard.Web/Core/Containers/ViewModels/ContainerTypePartSettingsViewModel.cs b/src/Orchard.Web/Core/Containers/ViewModels/ContainerTypePartSettingsViewModel.cs index e37f392f7..04fef229f 100644 --- a/src/Orchard.Web/Core/Containers/ViewModels/ContainerTypePartSettingsViewModel.cs +++ b/src/Orchard.Web/Core/Containers/ViewModels/ContainerTypePartSettingsViewModel.cs @@ -16,5 +16,6 @@ namespace Orchard.Core.Containers.ViewModels { [UIHint("ListViewPicker")] public string AdminListViewName { get; set; } + public bool DisplayContainerEditor { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Core/Containers/Views/DefinitionTemplates/ContainerTypePartSettingsViewModel.cshtml b/src/Orchard.Web/Core/Containers/Views/DefinitionTemplates/ContainerTypePartSettingsViewModel.cshtml index 94af98233..f640b679a 100644 --- a/src/Orchard.Web/Core/Containers/Views/DefinitionTemplates/ContainerTypePartSettingsViewModel.cshtml +++ b/src/Orchard.Web/Core/Containers/Views/DefinitionTemplates/ContainerTypePartSettingsViewModel.cshtml @@ -2,6 +2,11 @@ @{ Script.Require("ShapesBase"); } +
+ @Html.CheckBoxFor(m => m.DisplayContainerEditor) + @Html.LabelFor(m => m.DisplayContainerEditor, @T("Display settings editor").ToString(), new { @class = "forcheckbox" }) + @T("When checked, users can change the settings for each content item.") +
@Html.EditorFor(m => m.ItemsShownDefault)