Add inifinite scroll to user activity on user page

This commit is contained in:
Dmitriy Zaporozhets 2015-03-22 15:40:26 -07:00
parent 29f6b01d63
commit 9968250211
4 changed files with 17 additions and 6 deletions

View file

@ -23,6 +23,7 @@ v 7.10.0 (unreleased)
- Restrict permissions on backup files - Restrict permissions on backup files
- Improve oauth accounts UI in profile page - Improve oauth accounts UI in profile page
- Add ability to unlink connected accounts - Add ability to unlink connected accounts
- Add inifinite scroll to user page activity
v 7.9.0 (unreleased) v 7.9.0 (unreleased)
- Add HipChat integration documentation (Stan Hu) - Add HipChat integration documentation (Stan Hu)

View file

@ -97,6 +97,7 @@ class Dispatcher
new ProjectFork() new ProjectFork()
when 'users:show' when 'users:show'
new User() new User()
new Activities()
switch path.first() switch path.first()
when 'admin' when 'admin'

View file

@ -16,17 +16,16 @@ class UsersController < ApplicationController
# Collect only groups common for both users # Collect only groups common for both users
@groups = @user.groups & GroupsFinder.new.execute(current_user) @groups = @user.groups & GroupsFinder.new.execute(current_user)
# Get user activity feed for projects common for both users
@events = @user.recent_events.
where(project_id: authorized_projects_ids).
with_associations.limit(30)
@title = @user.name @title = @user.name
@title_url = user_path(@user) @title_url = user_path(@user)
respond_to do |format| respond_to do |format|
format.html format.html
format.atom { render layout: false } format.atom { render layout: false }
format.json do
load_events
pager_json("events/_events", @events.count)
end
end end
end end
@ -82,4 +81,13 @@ class UsersController < ApplicationController
@authorized_projects_ids ||= @authorized_projects_ids ||=
ProjectsFinder.new.execute(current_user).pluck(:id) ProjectsFinder.new.execute(current_user).pluck(:id)
end end
def load_events
# Get user activity feed for projects common for both users
@events = @user.recent_events.
where(project_id: authorized_projects_ids).
with_associations
@events = @events.limit(20).offset(params[:offset] || 0)
end
end end

View file

@ -40,7 +40,8 @@
%strong %strong
%i.fa.fa-rss %i.fa.fa-rss
= render @events .content_list
= spinner
%aside.col-md-4 %aside.col-md-4
= render 'profile', user: @user = render 'profile', user: @user
= render 'projects' = render 'projects'