From 99682502119fa67f229b3e8d3c3ed0ccb68b29f9 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Sun, 22 Mar 2015 15:40:26 -0700 Subject: Add inifinite scroll to user activity on user page --- CHANGELOG | 1 + app/assets/javascripts/dispatcher.js.coffee | 1 + app/controllers/users_controller.rb | 18 +++++++++++++----- app/views/users/show.html.haml | 3 ++- 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' -- cgit v1.2.1 From fee1f2e0ab0336e6746aae8e9ed76549c6ac3353 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Sun, 22 Mar 2015 19:41:12 -0700 Subject: Fix atom feed for user page --- app/controllers/users_controller.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 95ee9e83dbd..5c618001fdf 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -21,7 +21,12 @@ class UsersController < ApplicationController respond_to do |format| format.html - format.atom { render layout: false } + + format.atom do + load_events + render layout: false + end + format.json do load_events pager_json("events/_events", @events.count) -- cgit v1.2.1