mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Adding ItemsShowDefault to ContainerPartSettings
This commit is contained in:

committed by
Sebastien Ros

parent
9877d8488f
commit
2de8e91b58
@@ -26,7 +26,8 @@ namespace Orchard.Core.Containers.Handlers {
|
|||||||
_containerService = containerService;
|
_containerService = containerService;
|
||||||
Filters.Add(StorageFilter.For(repository));
|
Filters.Add(StorageFilter.For(repository));
|
||||||
OnInitializing<ContainerPart>((context, part) => {
|
OnInitializing<ContainerPart>((context, part) => {
|
||||||
part.Record.ItemsShown = true;
|
part.Record.ItemsShown = part.Settings.GetModel<ContainerTypePartSettings>().ItemsShownDefault
|
||||||
|
?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().ItemsShownDefault;
|
||||||
part.Record.PageSize = part.Settings.GetModel<ContainerTypePartSettings>().PageSizeDefault
|
part.Record.PageSize = part.Settings.GetModel<ContainerTypePartSettings>().PageSizeDefault
|
||||||
?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().PageSizeDefault;
|
?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().PageSizeDefault;
|
||||||
part.Record.Paginated = part.Settings.GetModel<ContainerTypePartSettings>().PaginatedDefault
|
part.Record.Paginated = part.Settings.GetModel<ContainerTypePartSettings>().PaginatedDefault
|
||||||
|
@@ -11,12 +11,23 @@ using Orchard.Core.Containers.ViewModels;
|
|||||||
|
|
||||||
namespace Orchard.Core.Containers.Settings {
|
namespace Orchard.Core.Containers.Settings {
|
||||||
public class ContainerPartSettings {
|
public class ContainerPartSettings {
|
||||||
|
public const bool ItemsShownDefaultDefault = true;
|
||||||
public const int PageSizeDefaultDefault = 10;
|
public const int PageSizeDefaultDefault = 10;
|
||||||
public const bool PaginatedDefaultDefault = true;
|
public const bool PaginatedDefaultDefault = true;
|
||||||
|
|
||||||
|
private bool? _itemsShownDefault;
|
||||||
private int? _pageSizeDefault;
|
private int? _pageSizeDefault;
|
||||||
private bool? _paginiatedDefault;
|
private bool? _paginiatedDefault;
|
||||||
|
|
||||||
|
public bool ItemsShownDefault {
|
||||||
|
get {
|
||||||
|
return _itemsShownDefault != null
|
||||||
|
? (bool)_itemsShownDefault
|
||||||
|
: ItemsShownDefaultDefault;
|
||||||
|
}
|
||||||
|
set { _itemsShownDefault = value; }
|
||||||
|
}
|
||||||
|
|
||||||
public int PageSizeDefault {
|
public int PageSizeDefault {
|
||||||
get {
|
get {
|
||||||
return _pageSizeDefault != null
|
return _pageSizeDefault != null
|
||||||
@@ -37,6 +48,7 @@ namespace Orchard.Core.Containers.Settings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class ContainerTypePartSettings {
|
public class ContainerTypePartSettings {
|
||||||
|
public bool? ItemsShownDefault { get; set; }
|
||||||
public int? PageSizeDefault { get; set; }
|
public int? PageSizeDefault { get; set; }
|
||||||
public bool? PaginatedDefault { get; set; }
|
public bool? PaginatedDefault { get; set; }
|
||||||
public string RestrictedItemContentTypes { get; set; }
|
public string RestrictedItemContentTypes { get; set; }
|
||||||
@@ -62,6 +74,9 @@ namespace Orchard.Core.Containers.Settings {
|
|||||||
|
|
||||||
var model = definition.Settings.GetModel<ContainerTypePartSettings>();
|
var model = definition.Settings.GetModel<ContainerTypePartSettings>();
|
||||||
var partModel = definition.PartDefinition.Settings.GetModel<ContainerPartSettings>();
|
var partModel = definition.PartDefinition.Settings.GetModel<ContainerPartSettings>();
|
||||||
|
|
||||||
|
if (model.ItemsShownDefault == null)
|
||||||
|
model.ItemsShownDefault = partModel.ItemsShownDefault;
|
||||||
|
|
||||||
if (model.PageSizeDefault == null)
|
if (model.PageSizeDefault == null)
|
||||||
model.PageSizeDefault = partModel.PageSizeDefault;
|
model.PageSizeDefault = partModel.PageSizeDefault;
|
||||||
@@ -70,6 +85,7 @@ namespace Orchard.Core.Containers.Settings {
|
|||||||
model.PaginatedDefault = partModel.PaginatedDefault;
|
model.PaginatedDefault = partModel.PaginatedDefault;
|
||||||
|
|
||||||
var viewModel = new ContainerTypePartSettingsViewModel {
|
var viewModel = new ContainerTypePartSettingsViewModel {
|
||||||
|
ItemsShownDefault = model.ItemsShownDefault,
|
||||||
PageSizeDefault = model.PageSizeDefault,
|
PageSizeDefault = model.PageSizeDefault,
|
||||||
PaginatedDefault = model.PaginatedDefault,
|
PaginatedDefault = model.PaginatedDefault,
|
||||||
RestrictedItemContentTypes = _contentDefinitionManager.ParseContentTypeDefinitions(model.RestrictedItemContentTypes).Select(x => x.Name).ToList(),
|
RestrictedItemContentTypes = _contentDefinitionManager.ParseContentTypeDefinitions(model.RestrictedItemContentTypes).Select(x => x.Name).ToList(),
|
||||||
@@ -99,6 +115,7 @@ namespace Orchard.Core.Containers.Settings {
|
|||||||
AvailableItemContentTypes = _containerService.GetContainableTypes().ToList()
|
AvailableItemContentTypes = _containerService.GetContainableTypes().ToList()
|
||||||
};
|
};
|
||||||
updateModel.TryUpdateModel(viewModel, "ContainerTypePartSettingsViewModel", null, new[] { "AvailableItemContentTypes" });
|
updateModel.TryUpdateModel(viewModel, "ContainerTypePartSettingsViewModel", null, new[] { "AvailableItemContentTypes" });
|
||||||
|
builder.WithSetting("ContainerTypePartSettings.ItemsShownDefault", viewModel.ItemsShownDefault.ToString());
|
||||||
builder.WithSetting("ContainerTypePartSettings.PageSizeDefault", viewModel.PageSizeDefault.ToString());
|
builder.WithSetting("ContainerTypePartSettings.PageSizeDefault", viewModel.PageSizeDefault.ToString());
|
||||||
builder.WithSetting("ContainerTypePartSettings.PaginatedDefault", viewModel.PaginatedDefault.ToString());
|
builder.WithSetting("ContainerTypePartSettings.PaginatedDefault", viewModel.PaginatedDefault.ToString());
|
||||||
builder.WithSetting("ContainerTypePartSettings.RestrictedItemContentTypes", viewModel.RestrictedItemContentTypes != null ? string.Join(",", viewModel.RestrictedItemContentTypes) : "");
|
builder.WithSetting("ContainerTypePartSettings.RestrictedItemContentTypes", viewModel.RestrictedItemContentTypes != null ? string.Join(",", viewModel.RestrictedItemContentTypes) : "");
|
||||||
@@ -114,6 +131,7 @@ namespace Orchard.Core.Containers.Settings {
|
|||||||
|
|
||||||
var model = new ContainerPartSettings();
|
var model = new ContainerPartSettings();
|
||||||
updateModel.TryUpdateModel(model, "ContainerPartSettings", null, null);
|
updateModel.TryUpdateModel(model, "ContainerPartSettings", null, null);
|
||||||
|
builder.WithSetting("ContainerPartSettings.ItemsShownDefault", model.ItemsShownDefault.ToString());
|
||||||
builder.WithSetting("ContainerPartSettings.PageSizeDefault", model.PageSizeDefault.ToString());
|
builder.WithSetting("ContainerPartSettings.PageSizeDefault", model.PageSizeDefault.ToString());
|
||||||
builder.WithSetting("ContainerPartSettings.PaginatedDefault", model.PaginatedDefault.ToString());
|
builder.WithSetting("ContainerPartSettings.PaginatedDefault", model.PaginatedDefault.ToString());
|
||||||
yield return DefinitionTemplate(model);
|
yield return DefinitionTemplate(model);
|
||||||
|
@@ -5,6 +5,7 @@ using Orchard.Core.Containers.Services;
|
|||||||
|
|
||||||
namespace Orchard.Core.Containers.ViewModels {
|
namespace Orchard.Core.Containers.ViewModels {
|
||||||
public class ContainerTypePartSettingsViewModel {
|
public class ContainerTypePartSettingsViewModel {
|
||||||
|
public bool? ItemsShownDefault { get; set; }
|
||||||
public int? PageSizeDefault { get; set; }
|
public int? PageSizeDefault { get; set; }
|
||||||
public bool? PaginatedDefault { get; set; }
|
public bool? PaginatedDefault { get; set; }
|
||||||
public bool RestrictItemContentTypes { get; set; }
|
public bool RestrictItemContentTypes { get; set; }
|
||||||
|
@@ -2,6 +2,10 @@
|
|||||||
@{
|
@{
|
||||||
Script.Require("ShapesBase");
|
Script.Require("ShapesBase");
|
||||||
}
|
}
|
||||||
|
<fieldset>
|
||||||
|
<label for="@Html.FieldIdFor(m => m.ItemsShownDefault)">@T("Default Items Shown")</label>
|
||||||
|
@Html.EditorFor(m => m.ItemsShownDefault)
|
||||||
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="@Html.FieldIdFor(m => m.PageSizeDefault)">@T("Default Page Size")</label>
|
<label for="@Html.FieldIdFor(m => m.PageSizeDefault)">@T("Default Page Size")</label>
|
||||||
@Html.EditorFor(m => m.PageSizeDefault)
|
@Html.EditorFor(m => m.PageSizeDefault)
|
||||||
|
Reference in New Issue
Block a user