2 ''' |
2 ''' |
3 Created on Feb 22, 2013 |
3 Created on Feb 22, 2013 |
4 |
4 |
5 @author: ymh |
5 @author: ymh |
6 ''' |
6 ''' |
|
7 from django.conf import settings |
7 from django.db import models |
8 from django.db import models |
8 from haystack import signals |
9 from haystack import signals |
|
10 |
|
11 import p4l.models.signals |
9 |
12 |
10 |
13 |
11 class P4lSignalProcessor(signals.BaseSignalProcessor): |
14 class P4lSignalProcessor(signals.BaseSignalProcessor): |
12 |
15 |
13 def __connect_signals(self, klass): |
16 def handle_delete(self, sender, instance, **kwargs): |
14 models.signals.post_save.connect(self.handle_save, sender=klass) |
17 if getattr(settings, "REALTIME_INDEXING", True): |
|
18 signals.BaseSignalProcessor.handle_delete(self, sender, instance, **kwargs) |
|
19 |
|
20 def handle_save(self, sender, instance, **kwargs): |
|
21 if getattr(settings, "REALTIME_INDEXING", True): |
|
22 signals.BaseSignalProcessor.handle_save(self, sender, instance, **kwargs) |
|
23 |
|
24 def __connect_signals(self, klass): |
|
25 p4l.models.signals.record_saved.connect(self.handle_save, sender=klass) |
15 models.signals.post_delete.connect(self.handle_delete, sender=klass) |
26 models.signals.post_delete.connect(self.handle_delete, sender=klass) |
16 |
27 |
17 def __disconnect_signals(self, klass): |
28 def __disconnect_signals(self, klass): |
18 models.signals.post_save.disconnect(self.handle_save, sender=klass) |
29 p4l.models.signals.record_saved.disconnect(self.handle_save, sender=klass) |
19 models.signals.post_delete.disconnect(self.handle_delete, sender=klass) |
30 models.signals.post_delete.disconnect(self.handle_delete, sender=klass) |
20 |
31 |
21 |
32 |
22 def setup(self): |
33 def setup(self): |
23 #put import here to avoid circular |
34 #put import here to avoid circular |