VRFS-2916 admin index

This commit is contained in:
Jonathan Kolyer 2015-03-17 01:34:04 +00:00
parent 420c00e3b5
commit 5ee4784417
3 changed files with 71 additions and 3 deletions

View File

@ -41,7 +41,7 @@ gem 'uuidtools', '2.1.2'
gem 'jquery-rails' # , '2.3.0' # pinned because jquery-ui-rails was split from jquery-rails, but activeadmin doesn't support this gem yet
gem 'jquery-ui-rails', '4.2.1'
gem 'rails3-jquery-autocomplete'
gem 'activeadmin', '0.6.2'
gem 'activeadmin', github: 'activeadmin', branch: '0-6-stable'
gem 'mime-types', '1.25'
gem 'meta_search'
gem 'fog', "~> 1.18.0"

View File

@ -2,7 +2,55 @@ ActiveAdmin.register Cohort, :as => 'Cohort Data' do
menu :label => 'Cohorts', :parent => 'Analytics'
index do
config.sort_order = 'group_start DESC'
config.batch_actions = false
config.clear_action_items!
config.filters = false
controller do
def scoped_collection
obj = super.where(all_time: true).order('group_start DESC')
end
end
index :title => "All-time Cohorts" do
column 'Cohort' do |cc| cc.group_start_str end
column Cohort::TOTAL_LABELS[:registered_users] do |cc| cc.data_val(:registered_users) end
column Cohort::TOTAL_LABELS[:first_downloaded_client_at] do |cc|
cc.data_val(:first_downloaded_client_at)
end
column '%' do |cc| cc.data_val(:first_downloaded_client_at, true) end
column Cohort::TOTAL_LABELS[:first_certified_gear_at] do |cc|
cc.data_val(:first_certified_gear_at)
end
column '%' do |cc| cc.data_val(:first_certified_gear_at, true) end
column Cohort::TOTAL_LABELS[:music_sessions_user_history] do |cc|
cc.data_val(:music_sessions_user_history)
end
column '%' do |cc| cc.data_val(:music_sessions_user_history, true) end
column Cohort::TOTAL_LABELS[:jam_track_rights] do |cc|
cc.data_val(:jam_track_rights)
end
column '%' do |cc| cc.data_val(:jam_track_rights, true) end
column Cohort::TOTAL_LABELS[:recorded_tracks] do |cc|
cc.data_val(:recorded_tracks)
end
column '%' do |cc| cc.data_val(:recorded_tracks, true) end
column Cohort::TOTAL_LABELS[:friendships] do |cc|
cc.data_val(:friendships)
end
column '%' do |cc| cc.data_val(:friendships, true) end
column Cohort::TOTAL_LABELS[:invited_users] do |cc|
cc.data_val(:invited_users)
end
column '%' do |cc| cc.data_val(:invited_users, true) end
end
end

View File

@ -2,6 +2,8 @@ require 'date'
class Cohort < ActiveRecord::Base
EARLIEST_DATE = Time.parse('2014-03-01')
KEY_SET_TOTAL = [:registered_users, :first_downloaded_client_at, :first_certified_gear_at, :music_sessions_user_history, 'play_jamtr', :jam_track_rights, :recorded_tracks, :friendships, :invited_users]
TOTAL_LABELS = {
@ -95,7 +97,8 @@ class Cohort < ActiveRecord::Base
def _put_data_set(key, count, num_user)
self.data_set[key.to_s] = count
self.data_set["#{key}%"] = 100.0 * (count.to_f / num_user.to_f)
xx = (count.to_f / num_user.to_f)
self.data_set["#{key}%"] = 100.0 * xx.round(2)
end
def self.cohort_users(cohort)
@ -243,5 +246,22 @@ SQL
end
end
def group_start_str
self.group_start.strftime('%Y-%m-%d')
end
def group_end_str
self.group_end.strftime('%Y-%m-%d')
end
def data_val(col, percent=false)
if percent
val = self.data_set["#{col}%"]
val ? '%0.f' % val : ''
else
self.data_set[col.to_s]
end
end
end