summaryrefslogtreecommitdiff
path: root/app/controllers/users_controller.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-01-29 01:20:17 -0800
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-01-29 01:20:17 -0800
commit1f0e16569f1924ed967bff9f4f78bbee874251db (patch)
tree06c9c64dc37d6646cb467b8b854e0b557662d934 /app/controllers/users_controller.rb
parentc9f18d4587f16eb16b8b902d69576520c08b7f5a (diff)
downloadgitlab-ce-1f0e16569f1924ed967bff9f4f78bbee874251db.tar.gz
Load contribution calendar via AJAX
Diffstat (limited to 'app/controllers/users_controller.rb')
-rw-r--r--app/controllers/users_controller.rb31
1 files changed, 20 insertions, 11 deletions
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 9e5ea6cfa45..8c96f67a2a4 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -1,14 +1,7 @@
class UsersController < ApplicationController
- skip_before_filter :authenticate_user!, only: [:show, :activities]
layout :determine_layout
def show
- @user = User.find_by_username!(params[:username])
-
- unless current_user || @user.public_profile?
- return authenticate_user!
- end
-
# Projects user can view
visible_projects = ProjectsFinder.new.execute(current_user)
authorized_projects_ids = visible_projects.pluck(:id)
@@ -25,6 +18,15 @@ class UsersController < ApplicationController
@title = @user.name
+ respond_to do |format|
+ format.html
+ format.atom { render layout: false }
+ end
+ end
+
+ def calendar
+ visible_projects = ProjectsFinder.new.execute(current_user)
+
# Get user repositories and collect timestamps for commits
user_repositories = visible_projects.map(&:repository)
calendar = Gitlab::CommitsCalendar.new(user_repositories, @user)
@@ -32,10 +34,7 @@ class UsersController < ApplicationController
@starting_year = (Time.now - 1.year).strftime("%Y")
@starting_month = Date.today.strftime("%m").to_i
- respond_to do |format|
- format.html
- format.atom { render layout: false }
- end
+ render 'calendar', layout: false
end
def determine_layout
@@ -45,4 +44,14 @@ class UsersController < ApplicationController
'public_users'
end
end
+
+ private
+
+ def authenticate_user!
+ @user = User.find_by_username!(params[:username])
+
+ unless current_user || @user.public_profile?
+ return authenticate_user!
+ end
+ end
end