示例#1
0
    def test_unread_counter_new_thread2(self):
        thread = self.create_thread_for_user(self.sender, self.recipient)
        thread.mark_as_seen(self.recipient)
        counter = UnreadInboxCounter.get_for_user(self.recipient)
        self.assertEqual(counter.count, 0)

        counter = UnreadInboxCounter.get_for_user(self.sender)
        self.assertEqual(counter.count, 0)
示例#2
0
文件: tests.py 项目: allieus/askbot3
    def test_unread_counter_new_thread2(self):
        thread = self.create_thread_for_user(self.sender, self.recipient)
        thread.mark_as_seen(self.recipient)
        counter = UnreadInboxCounter.get_for_user(self.recipient)
        self.assertEqual(counter.count, 0)

        counter = UnreadInboxCounter.get_for_user(self.sender)
        self.assertEqual(counter.count, 0)
示例#3
0
    def test_unread_counter_new_thread1(self):
        counter = UnreadInboxCounter.get_for_user(self.recipient)
        self.assertEqual(counter.count, 0)

        thread = self.create_thread_for_user(self.sender, self.recipient)
        counter = UnreadInboxCounter.get_for_user(self.recipient)
        self.assertEqual(counter.count, 1)

        counter = UnreadInboxCounter.get_for_user(self.sender)
        self.assertEqual(counter.count, 0)
示例#4
0
文件: tests.py 项目: allieus/askbot3
    def test_unread_counter_new_thread1(self):
        counter = UnreadInboxCounter.get_for_user(self.recipient)
        self.assertEqual(counter.count, 0)

        thread = self.create_thread_for_user(self.sender, self.recipient)
        counter = UnreadInboxCounter.get_for_user(self.recipient)
        self.assertEqual(counter.count, 1)

        counter = UnreadInboxCounter.get_for_user(self.sender)
        self.assertEqual(counter.count, 0)
示例#5
0
 def test_recalculate_unread_counter(self):
     thread = self.create_thread_for_user(self.sender, self.recipient)
     counter = UnreadInboxCounter.get_for_user(self.recipient)
     counter.reset()
     self.assertEqual(counter.count, 0)
     counter.recalculate()
     self.assertEqual(counter.count, 1)
示例#6
0
文件: tests.py 项目: allieus/askbot3
 def test_recalculate_unread_counter(self):
     thread = self.create_thread_for_user(self.sender, self.recipient)
     counter = UnreadInboxCounter.get_for_user(self.recipient)
     counter.reset()
     self.assertEqual(counter.count, 0)
     counter.recalculate()
     self.assertEqual(counter.count, 1)
示例#7
0
 def handle_noargs(self, *args, **kwargs):
     users = User.objects.all()
     count = users.count()
     message = 'Fixing inbox counts for the users'
     for user in ProgressBar(users.iterator(), count, message):
         counter = UnreadInboxCounter.get_for_user(user)
         counter.recalculate()
         counter.save()
         transaction.commit()
示例#8
0
文件: views.py 项目: allieus/askbot3
    def post(self, request, thread_id=None):
        """process the post request:
        * delete or restore thread
        * recalculate the threads list and return it for display
          by reusing the threads list "get" function
        """
        # part of the threads list context
        sender_id = IntegerField().clean(request.POST['sender_id'])

        # sender_id==-2 means deleted post
        if self.thread_action == 'delete':
            if sender_id == -2:
                action = 'delete'
            else:
                action = 'archive'
        else:
            action = 'restore'

        thread = Message.objects.get(id=thread_id)
        memo, created = MessageMemo.objects.get_or_create(user=request.user, message=thread)

        if created and action == 'archive':
            # unfortunately we lose "unseen" status when archiving
            counter = UnreadInboxCounter.get_for_user(request.user)
            counter.decrement()
            counter.save()

        if action == 'archive':
            memo.status = MessageMemo.ARCHIVED
        elif action == 'restore':
            memo.status = MessageMemo.SEEN
        else:
            memo.status = MessageMemo.DELETED
        memo.save()

        context = self.get_context(request)
        return self.render_to_response(context)
示例#9
0
def group_messaging_context(request):
    if hasattr(request, 'user') and request.user.is_authenticated():
        instance = UnreadInboxCounter.get_for_user(request.user)
        return {'group_messaging_unread_inbox_count': instance.count}
    return {}