Exemple #1
0
 def _q_index(self, request):
     uid = '/'.join(self.parts)
     if uid:
         user = request.user
         Notification.mark_as_read(user.name, uid)
     url = request.get_form_var('url')
     # TODO fix request.query.url
     return request.redirect(url)
Exemple #2
0
def mark_as_read(request):
    if request.method == "POST":
        uid = request.data.get('uid')
        if uid:
            Notification.mark_as_read(request.user.name, uid)
            return {"status": 1}
        else:
            raise api_errors.MissingFieldError('uid')
    raise api_errors.MethodNotAllowedError()
Exemple #3
0
def mark_as_read(request):
    if request.method == "POST":
        uid = request.data.get('uid')
        if uid:
            Notification.mark_as_read(request.user.name, uid)
            return {"status": 1}
        else:
            raise api_errors.MissingFieldError('uid')
    raise api_errors.MethodNotAllowedError()
Exemple #4
0
def mark(request):
    ''' mark by uids '''
    user = request.user
    if user:
        uids = request.get_form_var('uids', [])
        if isinstance(uids, basestring):
            uids = [uids]
        for uid in uids:
            Notification.mark_as_read(user.name, uid)
        return dict(r=0)
    else:
        return dict(r=1)
    def test_mark_as_read(self):
        data = {'data': 'some data here'}
        for uid in self.uids:
            Notification(uid, self.receivers, data).send()

        to_mark_as_read = self.uids[:5] + self.uids[20:30] + self.uids[40:50]

        for i, uid in enumerate(to_mark_as_read, start=1):
            Notification.mark_as_read(self.test_user1, uid)
            assert Notification.unread_count(self.test_user1) == 50-i

        assert Notification.unread_count(self.test_user2) == 50
        Notification.mark_all_as_read(self.test_user2)
        assert Notification.unread_count(self.test_user2) == 0
Exemple #6
0
 def _q_index(self, request):
     url = '/'.join(self.parts)
     parts = url.split('.')
     if len(parts) == 2 and parts[1] == 'gif':
         uid, ext = parts
         username = request.get_form_var('user')
         user = User(username) if username else request.user
     else:
         raise TraversalError
     if user and uid:
         tokens = uid.split('-')
         if tokens[0] == 'pullrequest':
             project_name = '-'.join(tokens[1:-2])
             pull_number = tokens[-2]
             Notification.mark_as_read_by_pull(user.name, project_name,
                                               pull_number)
         else:
             Notification.mark_as_read(user.name, uid)
     request.response.set_content_type('image/gif')
     return EMAIL_HOOK_GIF.decode('base64')
Exemple #7
0
 def _q_index(self, request):
     url = '/'.join(self.parts)
     parts = url.split('.')
     if len(parts) == 2 and parts[1] == 'gif':
         uid, ext = parts
         username = request.get_form_var('user')
         user = User(username) if username else request.user
     else:
         raise TraversalError
     if user and uid:
         tokens = uid.split('-')
         if tokens[0] == 'pullrequest':
             project_name = '-'.join(tokens[1:-2])
             pull_number = tokens[-2]
             Notification.mark_as_read_by_pull(
                 user.name, project_name, pull_number)
         else:
             Notification.mark_as_read(user.name, uid)
     request.response.set_content_type('image/gif')
     return EMAIL_HOOK_GIF.decode('base64')