VRFS-2916 admin index
This commit is contained in:
parent
420c00e3b5
commit
5ee4784417
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue