--- a/src/p4l/search/signals.py Wed Sep 25 23:22:29 2013 +0200
+++ b/src/p4l/search/signals.py Thu Sep 26 15:24:41 2013 +0200
@@ -4,18 +4,29 @@
@author: ymh
'''
+from django.conf import settings
from django.db import models
from haystack import signals
+import p4l.models.signals
+
class P4lSignalProcessor(signals.BaseSignalProcessor):
- def __connect_signals(self, klass):
- models.signals.post_save.connect(self.handle_save, sender=klass)
+ def handle_delete(self, sender, instance, **kwargs):
+ if getattr(settings, "REALTIME_INDEXING", True):
+ signals.BaseSignalProcessor.handle_delete(self, sender, instance, **kwargs)
+
+ def handle_save(self, sender, instance, **kwargs):
+ if getattr(settings, "REALTIME_INDEXING", True):
+ signals.BaseSignalProcessor.handle_save(self, sender, instance, **kwargs)
+
+ def __connect_signals(self, klass):
+ p4l.models.signals.record_saved.connect(self.handle_save, sender=klass)
models.signals.post_delete.connect(self.handle_delete, sender=klass)
def __disconnect_signals(self, klass):
- models.signals.post_save.disconnect(self.handle_save, sender=klass)
+ p4l.models.signals.record_saved.disconnect(self.handle_save, sender=klass)
models.signals.post_delete.disconnect(self.handle_delete, sender=klass)