mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-12-02 19:44:02 +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) {
|
public IEnumerable<Page> Get(PageStatus status) {
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case PageStatus.All:
|
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:
|
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:
|
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:
|
default:
|
||||||
return Enumerable.Empty<Page>();
|
return Enumerable.Empty<Page>();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,15 @@ namespace Orchard.Events {
|
|||||||
|
|
||||||
var eventHandlers = _eventHandlers();
|
var eventHandlers = _eventHandlers();
|
||||||
foreach (var eventHandler in 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