--- a/src/core/models/notice.py Thu Jun 27 22:30:56 2013 +0200
+++ b/src/core/models/notice.py Thu Jun 27 22:31:40 2013 +0200
@@ -4,11 +4,12 @@
@author: ymh
'''
+from core import settings
+from core.models.term import Term
from django.db import models
+from django.db.models import signals
+from django.dispatch import receiver
import urlparse
-from .. import settings
-
-from .term import Term
# Create your models here.
class Notice(models.Model):
@@ -151,3 +152,22 @@
class SrepNoticeTerm(NoticeTerm):
class Meta:
app_label = 'core'
+
+def increment_nb_notice(term, inc):
+ term.nb_notice = term.nb_notice + inc
+ term.save
+
+@receiver(signals.post_save, sender=NoticeTerm)
+def notice_term_created(sender, **kwargs):
+ instance = kwargs.get('instance', None)
+ created = kwargs.get('created', None)
+ if instance is None or not created:
+ return
+ increment_nb_notice(instance.term, 1)
+
+@receiver(signals.post_delete, sender=NoticeTerm)
+def notice_term_deleted(sender, **kwargs):
+ instance = kwargs.get('instance', None)
+ if instance is None:
+ return
+ increment_nb_notice(instance.term, -1)