diff --git a/app/controllers/admins_controller.rb b/app/controllers/admins_controller.rb index 0753e2e2e5fd2857b5c8683cf9cb0c4c4c92c314..b84f1d5c1305a41dac24c3552744a8b81099a9bd 100644 --- a/app/controllers/admins_controller.rb +++ b/app/controllers/admins_controller.rb @@ -19,6 +19,18 @@ class AdminsController < ApplicationController redirect_to user_search_path, :notice => flash[:notice] end + def weekly_user_stats + @created_users_by_day = User.where("username IS NOT NULL").count(:group => "date(created_at)") + @created_users_by_week = {} + @created_users_by_day.keys.each do |k| + if @created_users_by_week[k.beginning_of_week].blank? + @created_users_by_week[k.beginning_of_week] = @created_users_by_day[k] + else + @created_users_by_week[k.beginning_of_week] += @created_users_by_day[k] + end + end + end + def stats @popular_tags = ActsAsTaggableOn::Tagging.joins(:tag).limit(15).count(:group => :tag, :order => 'count(taggings.id) DESC') diff --git a/app/views/admins/_admin_bar.haml b/app/views/admins/_admin_bar.haml index 2fe7cc27f55a7c5ac9cecd4d255a9fd5bba7d2c5..2bee946ca5c246f0c85392b8cda3a22d7a9bae87 100644 --- a/app/views/admins/_admin_bar.haml +++ b/app/views/admins/_admin_bar.haml @@ -3,6 +3,7 @@ Pages %ul %li= link_to 'User Search', user_search_path + %li= link_to 'Weekly User Stats', weekly_user_stats_path %li= link_to 'Pod Stats', pod_stats_path diff --git a/app/views/admins/weekly_user_stats.haml b/app/views/admins/weekly_user_stats.haml new file mode 100644 index 0000000000000000000000000000000000000000..621798d85ce65f6f05640d49cef4ca62b57f7e1e --- /dev/null +++ b/app/views/admins/weekly_user_stats.haml @@ -0,0 +1,13 @@ + +.span-24 + = render :partial => 'admins/admin_bar.haml' +%br +%br + +.span-24.last + %h1 + = "Users per week (Current server date is: #{Time.now.to_date}) " + %ul + - @created_users_by_week.keys.sort.each do |k| + %li + = "Week stating on #{k} , #{@created_users_by_week[k]}" diff --git a/config/routes.rb b/config/routes.rb index 7fa5995763b8b407866954f10acff070242cb1c2..24b2f3e25ec80d109af22df0b0ac57459cfdf31f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -93,6 +93,7 @@ Diaspora::Application.routes.draw do scope 'admins', :controller => :admins do match :user_search get :admin_inviter + get :weekly_user_stats get :stats, :as => 'pod_stats' end