src/p4l/search/signals.py
changeset 119 ece69ca3ac24
parent 114 93b45b4f423c
child 126 a345f1a67bf1
--- 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)