Bug fix: Indexing didn't process "unpublish" events

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-07-30 18:44:50 -07:00
parent a6e5f44915
commit 7a569d3030

View File

@@ -22,24 +22,22 @@ namespace Orchard.Indexing.Handlers {
_indexingTaskManager = indexingTaskManager; _indexingTaskManager = indexingTaskManager;
_indexNotifierHandlers = indexNotifierHandlers; _indexNotifierHandlers = indexNotifierHandlers;
OnPublishing<ContentPart>(CreateIndexingTask); OnPublished<ContentPart>(CreateIndexingTask);
OnRemoved<ContentPart>(RemoveIndexingTask); OnRemoved<ContentPart>(RemoveIndexingTask);
} }
void CreateIndexingTask(PublishContentContext context, ContentPart part) { 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); _indexingTaskManager.CreateUpdateIndexTask(context.ContentItem);
// UpdateIndex();
} }
void RemoveIndexingTask(RemoveContentContext context, ContentPart part) { void RemoveIndexingTask(RemoveContentContext context, ContentPart part) {
_indexingTaskManager.CreateDeleteIndexTask(context.ContentItem); _indexingTaskManager.CreateDeleteIndexTask(context.ContentItem);
// UpdateIndex();
}
private void UpdateIndex() {
foreach (var handler in _indexNotifierHandlers) {
handler.UpdateIndex(SearchIndexName);
}
} }
} }
} }