Ejemplo n.º 1
0
 def your_notifications(self):
     show_all = bool(self.request.form.get('showall'))
     display_message = []
     user = api.user.get_current()
     channel = AllChannel(user.getUserId())
     if show_all:
         display_message = channel.get_all_messages()
     else:
         display_message = channel.get_unread_messages()
     return display_message
Ejemplo n.º 2
0
 def getNumber(self):
     user = api.user.get_current()
     # TODO a zope user like admin will fail from here
     try:
         channel = AllChannel(user.getUserId())
         count = channel.get_unread_count()
     except AttributeError:
         # AttributeError: getUserId
         count = 0
     return count
Ejemplo n.º 3
0
 def getNumber(self):
     user = api.user.get_current()
     # TODO a zope user like admin will fail from here
     try:
         channel = AllChannel(user)
         count = channel.get_unread_count()
     except AttributeError:
         # AttributeError: getUserId
         count = 0
     return count
 def your_notifications(self):
     show_all = bool(self.request.form.get('showall'))
     display_message = []
     user = api.user.get_current()
     channel = AllChannel(user.getUserId())
     if show_all:
         display_message = channel.get_all_messages()
     else:
         display_message = channel.get_unread_messages()
     return display_message
    def test_create_msgs_mark_as_read_delete(self):
        predicate = 'GLOBAL_NOTICE'

        users = ['test0', 'test1', 'test2', 'test3', 'test4']
        users = map(lambda user: create_user(
            email=user + '@example.com',
            username=user).getUser(), users)

        # Step 1, something creates a bunch of messages
        actor = dict(fullname='John Doe', userid='johndoe',
                     email='*****@*****.**')
        obj = {'id': self.portal.id,
               'url': self.portal.absolute_url(relative=True),
               'title': 'I deleted the front page'}
        msg = Message([actor], predicate, obj)

        # This should be an adapter
        msg_class_handler = getAdapter(
            obj, IMessageClassHandler, name=predicate
        )
        msg_class_handler.add(msg)

        # Step 2, test1 sees his message
        channel = AllChannel(users[0])
        first_msg = channel.get_all_messages()[0]
        first_msg.mark_as_read()

        # Step 3, the regular clean up tasks from somewhere
        # cleans up queues

        handler = getAdapter(obj, IMessageClassHandler, name=predicate)
        handler.cleanup()

        # Step 4, somebody else reads his messages

        channel = AllChannel(users[1])
        first_msg = channel.get_all_messages()[0]
        first_msg.mark_as_read()

        # Final result

        self.assertEqual(0, len(AllChannel(users[0]).get_unread_messages(
            keep_unread=True)))
        self.assertEqual(0, len(AllChannel(users[1]).get_unread_messages(
            keep_unread=True)))
        self.assertEqual(1, len(AllChannel(users[1]).get_all_messages()))
        self.assertEqual(1, len(AllChannel(users[2]).get_unread_messages(
            keep_unread=True)))
        self.assertEqual(1, len(AllChannel(users[3]).get_unread_messages(
            keep_unread=True)))
        self.assertEqual(1, len(AllChannel(users[4]).get_unread_messages(
            keep_unread=True)))
Ejemplo n.º 6
0
 def your_notifications(self):
     # count to show unread messages
     display_message = []
     user = api.user.get_current()
     # TODO a zope user like admin will fail from here
     try:
         channel = AllChannel(user)
         # TODO for now we keep the everything unread keep_unread=True
         display_message = channel.get_unread_messages(keep_unread=True)
     except AttributeError:
         # AttributeError: getUserId
         display_message = []
     return display_message
Ejemplo n.º 7
0
    def test_create_msgs_mark_as_read_delete(self):
        predicate = 'GLOBAL_NOTICE'

        users = ['test0', 'test1', 'test2', 'test3', 'test4']
        users = map(
            lambda user: create_user(email=user + '@example.com',
                                     username=user).getUser(), users)

        # Step 1, something creates a bunch of messages
        actor = dict(fullname='John Doe',
                     userid='johndoe',
                     email='*****@*****.**')
        obj = {
            'id': self.portal.id,
            'url': self.portal.absolute_url(relative=True),
            'title': 'I deleted the front page'
        }
        msg = Message([actor], predicate, obj)

        # This should be an adapter
        msg_class_handler = getAdapter(obj,
                                       IMessageClassHandler,
                                       name=predicate)
        msg_class_handler.add(msg)

        # Step 2, test1 sees his message
        channel = AllChannel(users[0].getUserId())
        first_msg = channel.get_all_messages()[0]
        first_msg.mark_as_read()

        # Step 3, the regular clean up tasks from somewhere
        # cleans up queues

        handler = getAdapter(obj, IMessageClassHandler, name=predicate)
        handler.cleanup()

        # Step 4, somebody else reads his messages

        channel = AllChannel(users[1].getUserId())
        first_msg = channel.get_all_messages()[0]
        first_msg.mark_as_read()

        # Final result

        self.assertEqual(
            0,
            len(
                AllChannel(users[0].getUserId()).get_unread_messages(
                    keep_unread=True)))
        self.assertEqual(
            0,
            len(
                AllChannel(users[1].getUserId()).get_unread_messages(
                    keep_unread=True)))
        self.assertEqual(
            1, len(AllChannel(users[1].getUserId()).get_all_messages()))
        self.assertEqual(
            1,
            len(
                AllChannel(users[2].getUserId()).get_unread_messages(
                    keep_unread=True)))
        self.assertEqual(
            1,
            len(
                AllChannel(users[3].getUserId()).get_unread_messages(
                    keep_unread=True)))
        self.assertEqual(
            1,
            len(
                AllChannel(users[4].getUserId()).get_unread_messages(
                    keep_unread=True)))