From f5192d89c7cb76bf4334390e2d27547863b58ccf Mon Sep 17 00:00:00 2001 From: ViRuSTriNiTy Date: Thu, 21 Sep 2017 21:30:44 +0200 Subject: [PATCH] [Fixes #7862] Orchard.Taxonomies, allow autocomplete query to return results when no query term is passed (#7865) Fixes #7862 --- .../Controllers/TagsController.cs | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Taxonomies/Controllers/TagsController.cs b/src/Orchard.Web/Modules/Orchard.Taxonomies/Controllers/TagsController.cs index bc1d929f3..98b14f45b 100644 --- a/src/Orchard.Web/Modules/Orchard.Taxonomies/Controllers/TagsController.cs +++ b/src/Orchard.Web/Modules/Orchard.Taxonomies/Controllers/TagsController.cs @@ -36,19 +36,23 @@ namespace Orchard.Taxonomies.Controllers { if (!_authorizer.Authorize(StandardPermissions.AccessAdminPanel)) { throw new UnauthorizedAccessException("Can't access the admin"); } - if (string.IsNullOrEmpty(query)) return new List(); var allTerms = leavesOnly ? _taxonomyService.GetTerms(taxonomyId).ToList() : new List(); + var matchingTerms = _contentManager.Query() .Where(t => t.TaxonomyId == taxonomyId) - .Join() - .Where(r => r.Title.Contains(query)) - .List() - .Select(t => BuildTag(t, leavesOnly, allTerms)) - .OrderBy(t => t.Label) - .ToList(); - return matchingTerms; + .Join(); + + if (!string.IsNullOrEmpty(query)) + matchingTerms = matchingTerms.Where(r => r.Title.Contains(query)); + + var resultingTerms = matchingTerms.List() + .Select(t => BuildTag(t, leavesOnly, allTerms)) + .OrderBy(t => t.Label) + .ToList(); + + return resultingTerms; } private static Tag BuildTag(TermPart term, bool leavesOnly, IEnumerable terms) {