mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 11:44:58 +08:00
Corrected Page Expires bug
Intercept exceptions at event base, to prevent succeeding events to be ignored Corrected PageService.Get() to retrieve only Page content items --HG-- branch : dev
This commit is contained in:
@@ -35,11 +35,11 @@ namespace Orchard.Pages.Services {
|
||||
public IEnumerable<Page> Get(PageStatus status) {
|
||||
switch (status) {
|
||||
case PageStatus.All:
|
||||
return _contentManager.Query<Page>(VersionOptions.Latest).List();
|
||||
return _contentManager.Query(PageDriver.ContentType.Name).Join<RoutableRecord>().ForVersion(VersionOptions.Latest).List().AsPart<Page>();
|
||||
case PageStatus.Published:
|
||||
return _contentManager.Query<Page>(VersionOptions.Published).List();
|
||||
return _contentManager.Query(PageDriver.ContentType.Name).Join<RoutableRecord>().ForVersion(VersionOptions.Published).List().AsPart<Page>();
|
||||
case PageStatus.Offline:
|
||||
return _contentManager.Query<Page>(VersionOptions.Latest).Where<ContentPartVersionRecord>(ci => !ci.ContentItemVersionRecord.Published).List();
|
||||
return _contentManager.Query(PageDriver.ContentType.Name).Join<RoutableRecord>().ForVersion(VersionOptions.Latest).Where<ContentPartVersionRecord>(ci => !ci.ContentItemVersionRecord.Published).List().AsPart<Page>();
|
||||
default:
|
||||
return Enumerable.Empty<Page>();
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user