VRFS-2916 monthly filter
This commit is contained in:
parent
5ee4784417
commit
4a0aa25785
|
|
@ -1,19 +1,26 @@
|
|||
ActiveAdmin.register Cohort, :as => 'Cohort Data' do
|
||||
ActiveAdmin.register Cohort, :as => 'Cohorts' do
|
||||
|
||||
menu :label => 'Cohorts', :parent => 'Analytics'
|
||||
|
||||
config.sort_order = 'group_start DESC'
|
||||
config.sort_order = 'group_start_desc'
|
||||
config.batch_actions = false
|
||||
config.clear_action_items!
|
||||
config.filters = false
|
||||
config.per_page = 50
|
||||
|
||||
controller do
|
||||
|
||||
def scoped_collection
|
||||
obj = super.where(all_time: true).order('group_start DESC')
|
||||
objs = super
|
||||
Cohort.alltime_cohorts! if 0 == Cohort.where(all_time: true).count
|
||||
objs = objs.where(all_time: true).order('group_start DESC')
|
||||
logger.debug("*** scoped_collection: #{objs.to_sql}")
|
||||
objs
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
index :title => "All-time Cohorts" do
|
||||
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
|
||||
|
||||
|
|
@ -51,6 +58,6 @@ ActiveAdmin.register Cohort, :as => 'Cohort Data' do
|
|||
cc.data_val(:invited_users)
|
||||
end
|
||||
column '%' do |cc| cc.data_val(:invited_users, true) end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
ActiveAdmin.register Cohort, :as => 'Cohorts Monthly' do
|
||||
|
||||
menu :label => 'Cohorts Monthly', :parent => 'Analytics'
|
||||
|
||||
config.sort_order = 'group_start_desc'
|
||||
config.batch_actions = false
|
||||
config.clear_action_items!
|
||||
config.per_page = 50
|
||||
|
||||
filter(:monthly_start, as: :select, collection: Cohort.monthly_starts)
|
||||
filter(:monthly_end, as: :select, collection: Cohort.monthly_ends)
|
||||
|
||||
controller do
|
||||
def scoped_collection
|
||||
objs = super
|
||||
alltime = true
|
||||
args = params[:q] || {}
|
||||
if args[:monthly_start_eq].nil? || args[:monthly_end_eq].nil?
|
||||
Cohort.alltime_cohorts! if 0 == Cohort.where(all_time: true).count
|
||||
else
|
||||
mstart, mend = Time.parse(args[:monthly_start_eq]), Time.parse(args[:monthly_end_eq])
|
||||
# populate monthlys
|
||||
Cohort.monthly_cohorts(mstart, mend)
|
||||
objs = objs.where(monthly_start: mstart, monthly_end: mend)
|
||||
alltime = false
|
||||
end
|
||||
objs = objs.where(all_time: alltime).order('group_start DESC')
|
||||
logger.debug("*** scoped_collection: #{objs.to_sql}")
|
||||
objs
|
||||
end
|
||||
end
|
||||
|
||||
index :title => "Monthly 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
|
||||
Loading…
Reference in New Issue