src/p4l/search/signals.py
changeset 114 93b45b4f423c
child 119 ece69ca3ac24
equal deleted inserted replaced
113:c05567404888 114:93b45b4f423c
       
     1 # -*- coding: utf-8 -*-
       
     2 '''
       
     3 Created on Feb 22, 2013
       
     4 
       
     5 @author: ymh
       
     6 '''
       
     7 from django.db import models
       
     8 from haystack import signals
       
     9 
       
    10 
       
    11 class P4lSignalProcessor(signals.BaseSignalProcessor):
       
    12     
       
    13     def __connect_signals(self, klass):
       
    14         models.signals.post_save.connect(self.handle_save, sender=klass)
       
    15         models.signals.post_delete.connect(self.handle_delete, sender=klass)        
       
    16 
       
    17     def __disconnect_signals(self, klass):
       
    18         models.signals.post_save.disconnect(self.handle_save, sender=klass)
       
    19         models.signals.post_delete.disconnect(self.handle_delete, sender=klass)
       
    20 
       
    21     
       
    22     def setup(self):
       
    23         #put import here to avoid circular         
       
    24         from p4l.models.data import Record
       
    25         self.__connect_signals(Record)
       
    26 
       
    27 
       
    28 
       
    29     def teardown(self):
       
    30 
       
    31         from p4l.models.data import Record
       
    32         self.__disconnect_signals(Record)
       
    33