Пример #1
0
# -*- coding: utf-8 -*-
#
# Author:        alisue
# Date:            2010/11/30
#
from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends.idcalls import IdCallsBackend

from models import Thread

class ThreadCallsBackend(IdCallsBackend):
    def autodiscover(self, instance, **kwargs):
        if instance.pub_state == 'draft':
            return
        super(ThreadCallsBackend, self).autodiscover(instance, **kwargs)
site.register(Thread, ThreadCallsBackend)
Пример #2
0
# -*- coding: utf-8 -*-
#
# Author:        alisue
# Date:            2010/11/30
#
from django.contrib.auth.models import User
from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends import BasicCallsBackend

from models import Announcement

class AnnouncementCallsBackend(BasicCallsBackend):
    MESSAGE = u"運営からのお知らせ: %(label)s"
    
    def autodiscover(self, instance, created, **kwargs):
        if instance.pub_state == 'draft' or instance.sage or not created:
            return
        users = User.objects.filter(is_active=True)
        for user_to in users:
            super(AnnouncementCallsBackend, self).autodiscover(instance=instance, created=created, user_to=user_to, **kwargs)
site.register(Announcement, AnnouncementCallsBackend)
Пример #3
0
# -*- coding: utf-8 -*-
#
# Author:        alisue
# Date:            2010/11/30
#
from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends import CommentCallsBackend

from models import MarkItUpComment
site.register(MarkItUpComment, CommentCallsBackend)
Пример #4
0
# -*- coding: utf-8 -*-
#
# Author:        alisue
# Date:            2010/11/30
#
from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends.idcalls import IdCallsBackend

from models import Project

class ProjectCallsBackend(IdCallsBackend):
    def autodiscover(self, instance, **kwargs):
        if instance.pub_state == 'draft':
            return
        super(ProjectCallsBackend, self).autodiscover(instance, **kwargs)
site.register(Project, ProjectCallsBackend)
Пример #5
0
    def _m2m_changed_callback(self, sender, instance, action, reverse, model, pk_set, **kwargs):
        if instance.pub_state == 'draft' or action != 'post_add' or model != User:
            return
        users = User.objects.filter(pk__in=pk_set)
        for user_to in users:
            self.autodiscover(instance, created=False, user_to=user_to, read=False)
        
    def _pre_delete_callback(self, sender, instance, **kwargs):
        u"""Called when instance is deleted. Subclass should override this method when controlling deletation of call is needed."""
        url = instance.get_absolute_url()
        calls = Call.objects.filter(url=url)
        for call in calls:
            call.read = True
            call.save()
            
    def setUp(self, model):
        m2m_changed.connect(self._m2m_changed_callback, sender=model.owners.through)
        pre_delete.connect(self._pre_delete_callback, sender=model)
    def tearDown(self, model):
        m2m_changed.disconnect(self._m2m_changed_callback, sender=model.owners.through)
        pre_delete.disconnect(self._pre_delete_callback, sender=model)
    
    def get_message(self, call):
        if call.content_object.status == 'reject':
            message = self.REJECTED_MESSAGE
        else:
            message = self.MESSAGE
        return super(TaskCallsBackend, self).get_message(call, message=message)
    
site.register(Task, TaskCallsBackend)
Пример #6
0
# -*- coding: utf-8 -*-
#
# Author:        alisue
# Date:            2010/11/30
#
from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends import IdCallsBackend

from models import Tweet

site.register(Tweet, IdCallsBackend)
Пример #7
0
#
# Author:        alisue
# Date:            2010/11/30
#
from django.utils.safestring import mark_safe

from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends import BasicCallsBackend

from models import Report

class ReportCallsBackend(BasicCallsBackend):
    MESSAGE = u"%(label)s"
    
    def autodiscover(self, instance, created, **kwargs):
        if not created:
            return
        users = instance.product.members().all()
        for user_to in users:
            super(ReportCallsBackend, self).autodiscover(instance, created, user_to=user_to, **kwargs)
    
    def get_message(self, call):
        if not call.content_object:
            return None
        kwargs = {
            'product': call.content_object.product.label,
            'label': self.get_label(call),
        }
        return mark_safe(u"%(product)sに対する新しいバグレポート「%(label)s」があります。確認してください" % kwargs)
site.register(Report, ReportCallsBackend)
Пример #8
0
# -*- coding: utf-8 -*-
#
# Author:        alisue
# Date:            2010/11/30
#
from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends.idcalls import IdCallsBackend

from models import Event

class EventCallsBackend(IdCallsBackend):
    def autodiscover(self, instance, **kwargs):
        if instance.pub_state == 'draft':
            return
        super(EventCallsBackend, self).autodiscover(instance, **kwargs)
site.register(Event, EventCallsBackend)
Пример #9
0
# -*- coding: utf-8 -*-
#
# Author:        alisue
# Date:            2010/11/30
#
from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends.idcalls import IdCallsBackend

from models import Entry

class EntryCallsBackend(IdCallsBackend):
    
    def autodiscover(self, instance, **kwargs):
        if instance.pub_state == 'draft':
            return
        super(EntryCallsBackend, self).autodiscover(instance, **kwargs)
site.register(Entry, EntryCallsBackend)
Пример #10
0
# -*- coding: utf-8 -*-
#
# Author:        alisue
# Date:            2010/11/30
#
from libwaz.contrib.calls import site
from libwaz.contrib.calls.backends import BasicCallsBackend

from models import Message

class MessageCallsBackend(BasicCallsBackend):
    MESSAGE = u"%(user_from)sさんからメッセージ「%(label)s」が届いています"
    
    def _post_save_callback(self, *args, **kwargs):
        pass
site.register(Message, MessageCallsBackend)