Added join to order results of the query (#7860)

Fixes #7859
This commit is contained in:
Matteo Piovanelli
2017-09-21 21:09:42 +02:00
committed by Sébastien Ros
parent e407bb86aa
commit 244ea89b27

View File

@@ -32,7 +32,8 @@ namespace Orchard.Core.Containers.Drivers {
IContentQuery<ContentItem> query = _contentManager
.Query(VersionOptions.Published)
.Join<CommonPartRecord>().Where(cr => cr.Container.Id == container.Id);
.Join<CommonPartRecord>().Where(cr => cr.Container.Id == container.Id)
.Join<ContainablePartRecord>().OrderByDescending(x => x.Position);
if (part.Record.ApplyFilter)
query = query.Where(part.Record.FilterByProperty, part.Record.FilterByOperator, part.Record.FilterByValue);
@@ -54,7 +55,7 @@ namespace Orchard.Core.Containers.Drivers {
return ContentShape(
"Parts_ContainerWidget_Edit",
() => {
var model = new ContainerWidgetViewModel {Part = part};
var model = new ContainerWidgetViewModel { Part = part };
var containers = _contentManager.Query<ContainerPart, ContainerPartRecord>(VersionOptions.Latest).List().ToArray();
if (updater != null) {
@@ -67,12 +68,12 @@ namespace Orchard.Core.Containers.Drivers {
}
var listItems = !containers.Any()
? new[] {new SelectListItem {Text = T("(None - create container enabled items first)").Text, Value = "0"}}
? new[] { new SelectListItem { Text = T("(None - create container enabled items first)").Text, Value = "0" } }
: containers.Select(x => new SelectListItem {
Value = Convert.ToString(x.Id),
Text = x.ContentItem.TypeDefinition.DisplayName + ": " + _contentManager.GetItemMetadata(x.ContentItem).DisplayText,
Selected = x.Id == model.Part.Record.ContainerId,
});
Value = Convert.ToString(x.Id),
Text = x.ContentItem.TypeDefinition.DisplayName + ": " + _contentManager.GetItemMetadata(x.ContentItem).DisplayText,
Selected = x.Id == model.Part.Record.ContainerId,
});
model.AvailableContainers = new SelectList(listItems, "Value", "Text", model.Part.Record.ContainerId);