summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--app/assets/javascripts/dispatcher.js.coffee1
-rw-r--r--app/controllers/users_controller.rb18
-rw-r--r--app/views/users/show.html.haml3
4 files changed, 17 insertions, 6 deletions
diff --git a/CHANGELOG b/CHANGELOG
index cf00780d332..42848bcb317 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -23,6 +23,7 @@ v 7.10.0 (unreleased)
- Restrict permissions on backup files
- Improve oauth accounts UI in profile page
- Add ability to unlink connected accounts
+ - Add inifinite scroll to user page activity
v 7.9.0 (unreleased)
- Add HipChat integration documentation (Stan Hu)
diff --git a/app/assets/javascripts/dispatcher.js.coffee b/app/assets/javascripts/dispatcher.js.coffee
index edf482f33d8..deabaf8a784 100644
--- a/app/assets/javascripts/dispatcher.js.coffee
+++ b/app/assets/javascripts/dispatcher.js.coffee
@@ -97,6 +97,7 @@ class Dispatcher
new ProjectFork()
when 'users:show'
new User()
+ new Activities()
switch path.first()
when 'admin'
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 68130eb128c..95ee9e83dbd 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -16,17 +16,16 @@ class UsersController < ApplicationController
# Collect only groups common for both users
@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_url = user_path(@user)
respond_to do |format|
format.html
format.atom { render layout: false }
+ format.json do
+ load_events
+ pager_json("events/_events", @events.count)
+ end
end
end
@@ -82,4 +81,13 @@ class UsersController < ApplicationController
@authorized_projects_ids ||=
ProjectsFinder.new.execute(current_user).pluck(:id)
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
diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml
index fd96020d129..0653fb871ae 100644
--- a/app/views/users/show.html.haml
+++ b/app/views/users/show.html.haml
@@ -40,7 +40,8 @@
%strong
%i.fa.fa-rss
- = render @events
+ .content_list
+ = spinner
%aside.col-md-4
= render 'profile', user: @user
= render 'projects'