src/core/models/notice.py
changeset 48 f4fadc1b9d70
parent 36 f770159c3cee
child 55 bcbd95da9be2
equal deleted inserted replaced
47:eb6e0a3b3b01 48:f4fadc1b9d70
     2 '''
     2 '''
     3 Created on Jun 8, 2013
     3 Created on Jun 8, 2013
     4 
     4 
     5 @author: ymh
     5 @author: ymh
     6 '''
     6 '''
       
     7 from core import settings
       
     8 from core.models.term import Term
     7 from django.db import models
     9 from django.db import models
       
    10 from django.db.models import signals
       
    11 from django.dispatch import receiver
     8 import urlparse
    12 import urlparse
     9 from .. import settings
       
    10 
       
    11 from .term import Term
       
    12 
    13 
    13 # Create your models here.
    14 # Create your models here.
    14 class Notice(models.Model):
    15 class Notice(models.Model):
    15     
    16     
    16     ref         = models.CharField(max_length=20, null=True, blank=True, unique=True)
    17     ref         = models.CharField(max_length=20, null=True, blank=True, unique=True)
   149         app_label = 'core'
   150         app_label = 'core'
   150 
   151 
   151 class SrepNoticeTerm(NoticeTerm):
   152 class SrepNoticeTerm(NoticeTerm):
   152     class Meta:
   153     class Meta:
   153         app_label = 'core'
   154         app_label = 'core'
       
   155 
       
   156 def increment_nb_notice(term, inc):
       
   157     term.nb_notice = term.nb_notice + inc
       
   158     term.save
       
   159     
       
   160 @receiver(signals.post_save, sender=NoticeTerm)
       
   161 def notice_term_created(sender, **kwargs):
       
   162     instance = kwargs.get('instance', None)
       
   163     created = kwargs.get('created', None)
       
   164     if instance is None or not created:
       
   165         return
       
   166     increment_nb_notice(instance.term, 1)
       
   167 
       
   168 @receiver(signals.post_delete, sender=NoticeTerm)
       
   169 def notice_term_deleted(sender, **kwargs):
       
   170     instance = kwargs.get('instance', None)
       
   171     if instance is None:
       
   172         return
       
   173     increment_nb_notice(instance.term, -1)