def _q_index(request): user = request.user my_issues = [] if user: username = user.username your_projects = CodeDoubanProject.get_projects(owner=username, sortby='lru') watched_projects = CodeDoubanProject.get_watched_others_projects_by_user( # noqa user=username, sortby='lru') teams = Team.get_by_user_id(user.name) actions = get_user_inbox(username).get_actions( stop=PAGE_ACTIONS_COUNT - 1) badge_items = user.get_badge_items() # pull request # your_tickets = user.get_user_pull_requests_rank(limit=5) your_tickets = user.get_user_submit_pull_requests(limit=5) # issue project_ids = CodeDoubanProject.get_ids(user.name) dt = { 'state': "open", 'limit': 5, 'start': 0, } my_issues = ProjectIssue.gets_by_project_ids(project_ids, **dt) return st('newsfeed.html', **locals()) return request.redirect("/teams/")
def _q_lookup(self, request, num): user = request.user if not user or not num.isdigit(): raise TraversalError num = int(num) actions = get_user_inbox(user.username).get_actions(start=num, stop=num+PAGE_ACTIONS_COUNT-1) length = len(actions) render_html = render_actions(actions, show_avatar=True) return {'result': render_html, 'length': length}
def timeline(self, request): user = request.user if not user: return [] timestamp = request.get_form_var('timestamp') count = request.get_form_var('count') or 15 start = request.get_form_var('start') or 0 start = int(start) count = int(count) if timestamp: actions = get_user_inbox( self.user.username).get_actions_by_timestamp(max=timestamp) actions = actions[:count] else: actions = get_user_inbox(self.user.username).get_actions( start, start + count) data = [] for action in actions: data.append(format_timeline(action)) return data
def _q_lookup(self, request, num): user = request.user if not user or not num.isdigit(): raise TraversalError num = int(num) actions = get_user_inbox(user.username).get_actions( start=num, stop=num + PAGE_ACTIONS_COUNT - 1) length = len(actions) render_html = render_actions(actions, show_avatar=True) return {'result': render_html, 'length': length}
def timeline(self, request): user = request.user if not user: return [] timestamp = request.get_form_var('timestamp') count = request.get_form_var('count') or 15 start = request.get_form_var('start') or 0 start = int(start) count = int(count) if timestamp: actions = get_user_inbox( self.user.username).get_actions_by_timestamp(max=timestamp) actions = actions[:count] else: actions = get_user_inbox( self.user.username).get_actions(start, start + count) data = [] for action in actions: data.append(format_timeline(action)) return data
def actions(request): since_id = request.get_form_var("since_id", "") is_public = request.get_form_var("is_public", "") user = request.user all_actions = [] if is_public == "true": all_actions = get_public_feed().get_actions(0, MAX_ACT_COUNT) elif user: all_actions = get_user_inbox(user.username).get_actions(0, MAX_ACT_COUNT) if since_id: actions = [] for action in all_actions: if action.get("uid") == since_id: break actions.append(action) else: actions = all_actions return st("/m/actions.html", **locals())
def actions(request): since_id = request.get_form_var('since_id', '') is_public = request.get_form_var('is_public', '') user = request.user all_actions = [] if is_public == 'true': all_actions = get_public_feed().get_actions(0, MAX_ACT_COUNT) elif user: all_actions = get_user_inbox(user.username).get_actions( 0, MAX_ACT_COUNT) if since_id: actions = [] for action in all_actions: if action.get('uid') == since_id: break actions.append(action) else: actions = all_actions return st('/m/actions.html', **locals())
def test_userinbox(self): actor = 'testuser1' all_feed = [ get_user_inbox(actor), get_user_feed(actor), get_public_feed(), ] data = dict(type='pull_request', owner='testuser2', url='', title='pr title', description='pr desc', date=datetime.now(), from_proj='10', to_proj='1', uid='pullrequest-1-1-unmerge') for feed in all_feed: feed.add_action(data) actions = feed.get_actions() assert len(actions) == 1