* dump and correction of download tracker

This commit is contained in:
Seth Call 2016-01-16 20:37:44 -06:00
parent ba6a7af851
commit 1154a83dae
6 changed files with 39 additions and 3 deletions

View File

@ -0,0 +1,20 @@
ActiveAdmin.register_page "Top Selling JamTracks" do
menu :parent => 'Reports'
top_selling_jamtracks = JamTrack.select([:id, :original_artist, :name, :has_tap_in]).find_by_sql("select count(jam_tracks.id) as count , jam_tracks.id, original_artist, name, (jmep_text is not null) has_tap_in from jam_tracks inner join jam_track_rights on (jam_track_rights.jam_track_id = jam_tracks.id AND jam_track_rights.is_test_purchase = false) group by jam_tracks.id order by count(jam_tracks.id) desc ")
content :title => "Top Selling JamTracks" do
table_for top_selling_jamtracks do
column "Count", :count
column "Original Artist", :original_artist
column "Name", :name
column "Has Count-in", :has_tap_in
column "ID", :id
end
end
end

View File

@ -12,4 +12,19 @@ class JamTrackController < ApplicationController
render "jam_track/dump_released", :layout => nil
end
def dump_top_selling
if params[:code] != Rails.application.config.data_dump_code
render :text => "", :status => 404
return
end
@jam_tracks = JamTrack.select([:id, :original_artist, :name]).find_by_sql("select count(jam_tracks.id) as count , jam_tracks.id, original_artist, name, (jmep_text is not null) has_tap_in from jam_tracks inner join jam_track_rights on (jam_track_rights.jam_track_id = jam_tracks.id AND jam_track_rights.is_test_purchase = false) group by jam_tracks.id order by count(jam_tracks.id) desc ")
headers['Content-Disposition'] = "attachment; filename=\"top-selling-jam-tracks.csv\""
headers['Content-Type'] ||= 'text/csv'
render "jam_track/dump_top_selling", :layout => nil
end
end

View File

@ -0,0 +1,2 @@
<%- headers = ['Artist Name', 'Song Name', 'ID', 'Count'] -%>
<%= CSV.generate_line headers %><%- @jam_tracks.each do |jam_track| -%><%= CSV.generate_line([jam_track.original_artist, jam_track.name, jam_track.id, jam_track['count'], jam_track['has_tap_in']]) %><%- end -%>

View File

@ -154,6 +154,7 @@ module JamAdmin
config.jmep_dir = ENV['JMEP_DIR'] || File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "..", "jmep"))
config.email_dump_code = 'rcAUyC3TZCbgGx4YQpznBRbNnQMXW5iKTzf9NSBfzMLsnw9dRQ'
config.data_dump_code = 'rcAUyC3TZCbgGx4Y3321eudbNnQMXW5iKTzf9NSBfzMLsnw9dRQ'
config.admin_port = ENV['ADMIN_PORT'] || 3333
config.admin_root_url = "#{config.external_protocol}#{config.external_hostname}#{(config.admin_port == 80 || config.admin_port == 443) ? '' : ':' + config.admin_port.to_s}"

View File

@ -30,6 +30,7 @@ JamAdmin::Application.routes.draw do
match '/api/checks/latency_tester' => 'checks#check_latency_tester', :via => :get
match '/api/users/emailables/:code' => 'email#dump_emailables', :via => :get
match '/jam_tracks/top/:code' => 'jam_track#dump_top_selling', :via => :get
match '/api/jam_tracks/released' => 'jam_track#dump_released', :via => :get, as: 'released_jamtracks_csv'
mount Resque::Server.new, :at => "/resque"

View File

@ -80,9 +80,6 @@ class ApiJamTrackMixdownsController < ApiController
@package = JamTrackMixdownPackage.create(@jam_track_mixdown, params[:file_type], params[:sample_rate], params[:encrypt_type]) unless @package
fingerprint = params[:mark]
DownloadTracker.check(current_user, request.remote_ip, @package, !@jam_track_right.redeemed, fingerprint, jkclient_agent?)
if @package.errors.any?
respond_with_model(@package)
return