Fix bug #91 - Page error occurs when manage contents after add "Archive Later" part to "Page"(2483)

--HG--
branch : dev
This commit is contained in:
Andre Rodrigues
2010-10-15 14:42:16 -07:00
parent 02a57cc505
commit ed0b69f420

View File

@@ -1,10 +1,14 @@
using System.Web.Mvc;
using System.Web.Query.Dynamic;
using JetBrains.Annotations;
using Orchard.ContentManagement;
using Orchard.Indexing;
using Orchard.Localization;
using Orchard.Search.Services;
using Orchard.Search.ViewModels;
using Orchard.Settings;
using Orchard.Search.Models;
using Orchard.UI.Notify;
using System.Collections.Generic;
using Orchard.Collections;
using Orchard.Themes;
@@ -15,20 +19,38 @@ namespace Orchard.Search.Controllers {
private readonly ISearchService _searchService;
private readonly IContentManager _contentManager;
public SearchController(ISearchService searchService, IContentManager contentManager) {
public SearchController(
IOrchardServices services,
ISearchService searchService,
IContentManager contentManager) {
Services = services;
_searchService = searchService;
_contentManager = contentManager;
T = NullLocalizer.Instance;
}
private IOrchardServices Services { get; set; }
public Localizer T { get; set; }
protected virtual ISite CurrentSite { get; [UsedImplicitly] private set; }
public ActionResult Index(string q, int page = 1, int pageSize = 10) {
var searchFields = CurrentSite.As<SearchSettingsPart>().SearchedFields;
var searchHits = _searchService.Query(q, page, pageSize,
CurrentSite.As<SearchSettingsPart>().Record.FilterCulture,
searchFields,
searchHit => searchHit);
IPageOfItems<ISearchHit> searchHits;
if (q.Trim().StartsWith("?") || q.Trim().StartsWith("*")) {
searchHits = new PageOfItems<ISearchHit>(new ISearchHit[] { });
Services.Notifier.Error(T("'*' or '?' not allowed as first character in WildcardQuery"));
}
else {
searchHits = _searchService.Query(q, page, pageSize,
CurrentSite.As<SearchSettingsPart>().Record.FilterCulture,
searchFields,
searchHit => searchHit);
}
var searchResultViewModels = new List<SearchResultViewModel>();