X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/8809e1fd08377ebb010db09a5fd7de7e759d2583..6d8545bd3c8f0b76836622b9c983fce916b6e2d3:/app/controllers/users_controller.rb diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index a0be87bdc..c6e2298ab 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -21,9 +21,27 @@ class UsersController < ApplicationController def show @user = User.find_by(:display_name => params[:display_name]) - if @user && - (@user.visible? || current_user&.administrator?) + if @user && (@user.visible? || current_user&.administrator?) @title = @user.display_name + + @heatmap_data = Rails.cache.fetch("heatmap_data_user_#{@user.id}", :expires_in => 1.day) do + one_year_ago = 1.year.ago.beginning_of_day + today = Time.zone.now.end_of_day + + Changeset + .where(:user_id => @user.id) + .where(:created_at => one_year_ago..today) + .where(:num_changes => 1..) + .group("date_trunc('day', created_at)") + .select("date_trunc('day', created_at) AS date, SUM(num_changes) AS total_changes") + .order("date") + .map do |changeset| + { + :date => changeset.date.to_date.to_s, + :total_changes => changeset.total_changes.to_i + } + end + end else render_unknown_user params[:display_name] end @@ -101,7 +119,7 @@ class UsersController < ApplicationController current_user.data_public = true current_user.save flash[:notice] = t ".flash success" - redirect_to edit_account_path + redirect_to account_path end ## @@ -135,7 +153,7 @@ class UsersController < ApplicationController session[:user_errors] = current_user.errors.as_json - redirect_to edit_account_path + redirect_to account_path else user = User.find_by(:auth_provider => provider, :auth_uid => uid) @@ -222,8 +240,7 @@ class UsersController < ApplicationController def user_params params.require(:user).permit(:email, :display_name, :auth_provider, :auth_uid, - :pass_crypt, :pass_crypt_confirmation, - :consider_pd) + :pass_crypt, :pass_crypt_confirmation) end ##