mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-24 13:33:34 +08:00
ContainersPathConstraintUpdater catches errors due to missing migrations.
--HG-- branch : dev
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.Core.Containers.Models;
|
||||
using Orchard.Core.Routable.Models;
|
||||
using Orchard.Environment;
|
||||
using Orchard.Logging;
|
||||
using Orchard.Tasks;
|
||||
using Orchard.UI.Admin;
|
||||
|
||||
namespace Orchard.Core.Containers.Services {
|
||||
public class ContainersPathConstraintUpdater : IOrchardShellEvents, IBackgroundTask {
|
||||
@@ -13,8 +16,11 @@ namespace Orchard.Core.Containers.Services {
|
||||
public ContainersPathConstraintUpdater(IContainersPathConstraint containersPathConstraint, IContentManager contentManager) {
|
||||
_containersPathConstraint = containersPathConstraint;
|
||||
_contentManager = contentManager;
|
||||
Logger = NullLogger.Instance;
|
||||
}
|
||||
|
||||
public ILogger Logger { get; set; }
|
||||
|
||||
void IOrchardShellEvents.Activated() {
|
||||
Refresh();
|
||||
}
|
||||
@@ -27,8 +33,13 @@ namespace Orchard.Core.Containers.Services {
|
||||
}
|
||||
|
||||
private void Refresh() {
|
||||
try {
|
||||
var routeParts = _contentManager.Query<RoutePart, RoutePartRecord>().Join<ContainerPartRecord>().List();
|
||||
_containersPathConstraint.SetPaths(routeParts.Select(x=>x.Path));
|
||||
_containersPathConstraint.SetPaths(routeParts.Select(x => x.Path));
|
||||
}
|
||||
catch (Exception ex) {
|
||||
Logger.Error(ex, "Error while setting path constraints for containers.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user