Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#8232: Adding warnings when a Projection Query has an empty Filter Group #8813

Merged
merged 9 commits into from
Jan 14, 2025
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using System.Web.Routing;
using Orchard.ContentManagement;
using Orchard.Core.Title.Models;
using Orchard.DisplayManagement;
using Orchard.Forms.Services;
using Orchard.Localization;
using Orchard.Mvc;
using Orchard.Projections.Descriptors.Filter;
using Orchard.Projections.Descriptors.Layout;
using Orchard.Projections.Descriptors.SortCriterion;
using Orchard.Projections.Models;
using Orchard.Projections.Services;
using Orchard.Projections.ViewModels;
using Orchard.ContentManagement;
using Orchard.DisplayManagement;
using Orchard.Localization;
using Orchard.UI.Notify;
using System;
using Orchard.Settings;
using Orchard.UI.Navigation;
using Orchard.UI.Notify;

namespace Orchard.Projections.Controllers {
[ValidateInput(false)]
Expand Down Expand Up @@ -84,7 +84,7 @@ public ActionResult Index(AdminIndexOptions options, PagerParameters pagerParame

var model = new AdminIndexViewModel {
Queries = results.Select(x => new QueryEntry {
Query = x.As<QueryPart>().Record,
Query = x.As<QueryPart>().Record,
QueryId = x.Id,
Name = x.As<QueryPart>().Name
}).ToList(),
Expand Down Expand Up @@ -158,16 +158,21 @@ public ActionResult Edit(int id) {
Category = f.Category,
Type = f.Type,
FilterRecordId = filter.Id,
DisplayText = String.IsNullOrWhiteSpace(filter.Description) ? f.Display(new FilterContext {State = FormParametersHelper.ToDynamic(filter.State)}).Text : filter.Description
DisplayText = String.IsNullOrWhiteSpace(filter.Description) ? f.Display(new FilterContext { State = FormParametersHelper.ToDynamic(filter.State) }).Text : filter.Description
});
}
}

filterGroupEntries.Add( new FilterGroupEntry { Id = group.Id, Filters = filterEntries } );
filterGroupEntries.Add(new FilterGroupEntry { Id = group.Id, Filters = filterEntries });
}

viewModel.FilterGroups = filterGroupEntries;

if (viewModel.FilterGroups.Any(group => group.Filters.Count() == 0)) {
_services.Notifier.Warning(
T("This Query has at least one empty filter group, which will cause all content items to be returned, unless the Projection using this Query limits the number of content items displayed."));
}

#endregion

#region Load Sort criterias
Expand All @@ -185,7 +190,7 @@ public ActionResult Edit(int id) {
Category = f.Category,
Type = f.Type,
SortCriterionRecordId = sortCriterion.Id,
DisplayText = String.IsNullOrWhiteSpace(sortCriterion.Description) ? f.Display(new SortCriterionContext { State = FormParametersHelper.ToDynamic(sortCriterion.State) }).Text : sortCriterion.Description
DisplayText = String.IsNullOrWhiteSpace(sortCriterion.Description) ? f.Display(new SortCriterionContext { State = FormParametersHelper.ToDynamic(sortCriterion.State) }).Text : sortCriterion.Description
});
}
}
Expand Down
Loading