49 lines
1.4 KiB
Ruby
49 lines
1.4 KiB
Ruby
ActiveAdmin.register JamRuby::AffiliateTrafficTotal, :as => 'Affiliate Daily Stats' do
|
|
|
|
menu :label => 'Daily Stats', :parent => 'Affiliates'
|
|
|
|
config.sort_order = 'referral_user_count DESC'
|
|
config.batch_actions = false
|
|
config.clear_action_items!
|
|
config.filters = true
|
|
config.per_page = 50
|
|
config.paginate = true
|
|
|
|
filter :affiliate_partner
|
|
filter :day
|
|
filter :signups
|
|
filter :visits
|
|
|
|
form :partial => 'form'
|
|
|
|
scope("Active", default: true) { |scope| scope.where('visits != 0 or signups != 0').order('day desc') }
|
|
|
|
index do
|
|
|
|
# default_actions # use this for all view/edit/delete links
|
|
|
|
column 'Day' do |oo| oo.day end
|
|
column 'Partner ID' do |oo| oo.affiliate_partner.id end
|
|
column 'Partner Name' do |oo| oo.affiliate_partner.display_name end
|
|
column 'Partner User' do |oo| link_to(oo.affiliate_partner.partner_user.name, admin_user_path(oo.affiliate_partner.partner_user.id), { :title => oo.affiliate_partner.partner_user.name }) end
|
|
column 'Signups' do |oo| oo.signups end
|
|
column 'Visits' do |oo| oo.visits end
|
|
|
|
end
|
|
|
|
|
|
controller do
|
|
def scoped_collection
|
|
rel = end_of_association_chain
|
|
.includes([:affiliate_partner])
|
|
.order('day DESC')
|
|
if (ref_id = params[AffiliatePartner::PARAM_REFERRAL]).present?
|
|
qq = ['affiliate_partner_id = ?', ref_id]
|
|
else
|
|
qq = ['affiliate_partner_id IS NOT NULL']
|
|
end
|
|
@users ||= rel.where(qq)
|
|
end
|
|
end
|
|
end
|