diff --git a/src/Orchard.Web/Modules/Orchard.Indexing/Handlers/CreateIndexingTaskHandler.cs b/src/Orchard.Web/Modules/Orchard.Indexing/Handlers/CreateIndexingTaskHandler.cs index 604eb4140..074842cf5 100644 --- a/src/Orchard.Web/Modules/Orchard.Indexing/Handlers/CreateIndexingTaskHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Indexing/Handlers/CreateIndexingTaskHandler.cs @@ -22,24 +22,22 @@ namespace Orchard.Indexing.Handlers { _indexingTaskManager = indexingTaskManager; _indexNotifierHandlers = indexNotifierHandlers; - OnPublishing(CreateIndexingTask); + OnPublished(CreateIndexingTask); OnRemoved(RemoveIndexingTask); } void CreateIndexingTask(PublishContentContext context, ContentPart part) { + // "Unpublish" case: Same as "remove" + if (context.PublishingItemVersionRecord == null) { + _indexingTaskManager.CreateDeleteIndexTask(context.ContentItem); + return; + } + // "Publish" case: update index _indexingTaskManager.CreateUpdateIndexTask(context.ContentItem); - // UpdateIndex(); } void RemoveIndexingTask(RemoveContentContext context, ContentPart part) { _indexingTaskManager.CreateDeleteIndexTask(context.ContentItem); - // UpdateIndex(); - } - - private void UpdateIndex() { - foreach (var handler in _indexNotifierHandlers) { - handler.UpdateIndex(SearchIndexName); - } } } }