diff --git a/admin/app/admin/user_source.rb b/admin/app/admin/user_source.rb
new file mode 100644
index 000000000..50f9a93af
--- /dev/null
+++ b/admin/app/admin/user_source.rb
@@ -0,0 +1,30 @@
+ActiveAdmin.register JamRuby::User, :as => 'UserSource' do
+
+ menu :label => 'User Campaigns', :parent => 'Users'
+
+ config.sort_order = 'created_at DESC'
+ config.batch_actions = false
+ config.clear_action_items!
+ config.filters = false
+
+ index do
+ column "Email" do |user|
+ user.email
+ end
+ column "Bought TestDrive" do |user|
+ !user.most_recent_test_drive_purchase.nil? ? "Yes" : "No"
+ end
+ column "UTM Source" do |user|
+ user.origin_utm_source
+ end
+ column "UTM Medium" do |user|
+ user.origin_utm_medium
+ end
+ column "UTM Campaign" do |user|
+ user.origin_utm_campaign
+ end
+ column "Referrer" do |user|
+ user.origin_referrer
+ end
+ end
+end
diff --git a/ruby/lib/jam_ruby/models/user.rb b/ruby/lib/jam_ruby/models/user.rb
index 91321138e..86c35c534 100644
--- a/ruby/lib/jam_ruby/models/user.rb
+++ b/ruby/lib/jam_ruby/models/user.rb
@@ -2090,7 +2090,7 @@ module JamRuby
LessonBooking.unprocessed(self).where(lesson_type: LessonBooking::LESSON_TYPE_PAID).first
end
- def most_recent_test_drive_purchase
+ def most_recent_test_drive_purchase
lesson_purchases.where('lesson_package_type_id in (?)', LessonPackageType.test_drive_package_ids).order('created_at desc').first
end
diff --git a/web/app/assets/javascripts/globals.js b/web/app/assets/javascripts/globals.js
index d59831d01..3954949c6 100644
--- a/web/app/assets/javascripts/globals.js
+++ b/web/app/assets/javascripts/globals.js
@@ -228,7 +228,7 @@
"Electric Guitar": { "client_id": 50, "server_id": "electric guitar" },
"Keyboard": { "client_id": 60, "server_id": "keyboard" },
"Piano": { "client_id": 61, "server_id": "piano" },
- "Upright Bass": { "client_id": 62, "server_id": "upright bass" },
+ "Upright Bass": { "client_id": 62, "server_id": "double bass" },
"Voice": { "client_id": 70, "server_id": "voice" },
"Flute": { "client_id": 80, "server_id": "flute" },
"Clarinet": { "client_id": 90, "server_id": "clarinet" },
@@ -250,6 +250,9 @@
"Other": { "client_id": 250, "server_id": "other" }
};
+
+
+
context.JK.client_to_server_instrument_map = {
10: { "server_id": "acoustic guitar" },
20: { "server_id": "bass guitar" },
@@ -259,7 +262,7 @@
50: { "server_id": "electric guitar" },
60: { "server_id": "keyboard" },
61: { "server_id": "piano"} ,
- 62: { "server_id": "upright bass"} ,
+ 62: { "server_id": "double bass"} ,
70: { "server_id": "voice" },
80: { "server_id": "flute" },
90: { "server_id": "clarinet" },
@@ -283,10 +286,21 @@
context.JK.instrument_id_to_instrument = {};
+ context.JK.server_to_client_instrument_alpha = [];
+
(function() {
$.each(context.JK.server_to_client_instrument_map, function(key, value) {
context.JK.instrument_id_to_instrument[value.server_id] = { client_id: value.client_id, display: key }
+ context.JK.server_to_client_instrument_alpha.push({ client_id: value.client_id, display: key, server_id: value.server_id })
});
+
+ context.JK.server_to_client_instrument_alpha.sort(function(a, b){
+ if ( a.display < b.display )
+ return -1;
+ if ( a.display > b.display )
+ return 1;
+ return 0;
+ });
})();
diff --git a/web/app/assets/javascripts/react-components/ConfigureLiveTracksDialog.js.jsx.coffee b/web/app/assets/javascripts/react-components/ConfigureLiveTracksDialog.js.jsx.coffee
index 4b3cc4cf9..f45531854 100644
--- a/web/app/assets/javascripts/react-components/ConfigureLiveTracksDialog.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/ConfigureLiveTracksDialog.js.jsx.coffee
@@ -29,8 +29,8 @@ ConfigureTracksStore = @ConfigureTracksStore
instruments = []
instruments.push(``)
- for displayName, value of context.JK.server_to_client_instrument_map
- instruments.push(``)
+ for instrument in context.JK.server_to_client_instrument_alpha
+ instruments.push(``)
vsts = []
@@ -134,8 +134,8 @@ ConfigureTracksStore = @ConfigureTracksStore
midiInstruments = []
instruments = []
- for displayName, value of context.JK.server_to_client_instrument_map
- instruments.push(``)
+ for instrument in context.JK.server_to_client_instrument_alpha
+ instruments.push(``)
selectedMidiInterface = ''
selectedInstrument = context.JK.client_to_server_instrument_map[50].server_id # default to electric guitar