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)
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()
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
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')
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')