diff --git a/src/Orchard.Web/Modules/Orchard.Pages/Services/PageService.cs b/src/Orchard.Web/Modules/Orchard.Pages/Services/PageService.cs index 22160fcbf..15d09e345 100644 --- a/src/Orchard.Web/Modules/Orchard.Pages/Services/PageService.cs +++ b/src/Orchard.Web/Modules/Orchard.Pages/Services/PageService.cs @@ -35,11 +35,11 @@ namespace Orchard.Pages.Services { public IEnumerable Get(PageStatus status) { switch (status) { case PageStatus.All: - return _contentManager.Query(VersionOptions.Latest).List(); + return _contentManager.Query(PageDriver.ContentType.Name).Join().ForVersion(VersionOptions.Latest).List().AsPart(); case PageStatus.Published: - return _contentManager.Query(VersionOptions.Published).List(); + return _contentManager.Query(PageDriver.ContentType.Name).Join().ForVersion(VersionOptions.Published).List().AsPart(); case PageStatus.Offline: - return _contentManager.Query(VersionOptions.Latest).Where(ci => !ci.ContentItemVersionRecord.Published).List(); + return _contentManager.Query(PageDriver.ContentType.Name).Join().ForVersion(VersionOptions.Latest).Where(ci => !ci.ContentItemVersionRecord.Published).List().AsPart(); default: return Enumerable.Empty(); } diff --git a/src/Orchard/Events/DefaultOrchardEventBus.cs b/src/Orchard/Events/DefaultOrchardEventBus.cs index 8fac5d6ab..d8eebfac4 100644 --- a/src/Orchard/Events/DefaultOrchardEventBus.cs +++ b/src/Orchard/Events/DefaultOrchardEventBus.cs @@ -36,7 +36,15 @@ namespace Orchard.Events { var eventHandlers = _eventHandlers(); foreach (var eventHandler in eventHandlers) { - TryInvoke(eventHandler, interfaceName, methodName, eventData); + try { + TryInvoke(eventHandler, interfaceName, methodName, eventData); + } + catch(Exception ex) { + Logger.Error(ex, "{2} thrown from {0} by {1}", + interfaceName + "." +methodName, + eventHandler.GetType().FullName, + ex.GetType().Name); + } } }