From 98bde49131651e94ba25583968336d23524bef75 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Sun, 22 Jul 2018 14:19:21 -0500 Subject: [PATCH] put in backend details --- db/manifest | 3 ++- db/up/store_backend_details_rate_session.sql | 1 + .../lib/jam_ruby/models/music_session_user_history.rb | 6 +++++- .../assets/javascripts/dialog/rateSessionDialog.js | 7 ++++++- web/app/controllers/api_music_sessions_controller.rb | 11 ++++++++++- web/spec/features/activate_account_spec.rb | 3 +++ 6 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 db/up/store_backend_details_rate_session.sql diff --git a/db/manifest b/db/manifest index 523af8c1e..170472876 100755 --- a/db/manifest +++ b/db/manifest @@ -388,4 +388,5 @@ user_timezone.sql onboarder_limit.sql onboarding_emails.sql limit_counter_reminders.sql -amazon_v2.sql \ No newline at end of file +amazon_v2.sql +store_backend_details_rate_session.sql \ No newline at end of file diff --git a/db/up/store_backend_details_rate_session.sql b/db/up/store_backend_details_rate_session.sql new file mode 100644 index 000000000..76fa93825 --- /dev/null +++ b/db/up/store_backend_details_rate_session.sql @@ -0,0 +1 @@ +ALTER TABLE music_sessions_user_history ADD COLUMN backend_details VARCHAR; \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/music_session_user_history.rb b/ruby/lib/jam_ruby/models/music_session_user_history.rb index fcb2e7359..d0e112d96 100644 --- a/ruby/lib/jam_ruby/models/music_session_user_history.rb +++ b/ruby/lib/jam_ruby/models/music_session_user_history.rb @@ -131,10 +131,14 @@ module JamRuby self.perf_data.try(:uri) end - def add_rating(rval, comment='') + def add_rating(rval, comment='', backend_details=nil) rval = rval.to_i self.rating = rval if 0 != rval self.rating_comment = comment + if backend_details + self.backend_details = backend_details.to_json + end + end MIN_SESSION_DURATION_RATING = 60 diff --git a/web/app/assets/javascripts/dialog/rateSessionDialog.js b/web/app/assets/javascripts/dialog/rateSessionDialog.js index b45da3444..bdd1b2756 100644 --- a/web/app/assets/javascripts/dialog/rateSessionDialog.js +++ b/web/app/assets/javascripts/dialog/rateSessionDialog.js @@ -89,10 +89,15 @@ return false; } var url = "/api/participant_histories/"+clientId+"/rating"; + // get backend details too + if(context.jamClient.getAllClientsStateMap) { + var backendDetails = context.jamClient.getAllClientsStateMap() + console.log("got backend details", backendDetails) + } $.ajax({ type: "POST", url: url, - data: { rating: getRating(), comment: getComment() } + data: { rating: getRating(), comment: getComment(), backend_details: backendDetails } }).done(function (response) { var qq = getRating(); if (0 < qq) { diff --git a/web/app/controllers/api_music_sessions_controller.rb b/web/app/controllers/api_music_sessions_controller.rb index 37a282119..3502daab0 100644 --- a/web/app/controllers/api_music_sessions_controller.rb +++ b/web/app/controllers/api_music_sessions_controller.rb @@ -349,7 +349,7 @@ class ApiMusicSessionsController < ApiController def participant_rating if @history = MusicSessionUserHistory.latest_history(params[:client_id]) if request.post? - @history.add_rating(params[:rating], params[:comment]) + @history.add_rating(params[:rating], params[:comment], params[:backend_details]) @history.save if @history.errors.any? @@ -386,6 +386,15 @@ class ApiMusicSessionsController < ApiController end body << "Session Comments: #{@history.rating_comment}\n" + if @history.backend_details + begin + details = JSON.parse(@history.backend_details) + body << "Backend Detail:\n" + JSON.pretty_generate(details) + "\n" + rescue Exception => e + logger.error("Unable to send out retails email due to bad backend data #{e}") + end + end + AdminMailer.jamclass_alerts({subject: subject, body: body}).deliver_now rescue Exception => e logger.error("Exception sending out ratings email. Boo #{e}") diff --git a/web/spec/features/activate_account_spec.rb b/web/spec/features/activate_account_spec.rb index b54306197..ca30f3ba1 100644 --- a/web/spec/features/activate_account_spec.rb +++ b/web/spec/features/activate_account_spec.rb @@ -27,6 +27,7 @@ describe "Activate Account Card", :js => true, :type => :feature, :capybara_feat find('a.amazon-a-button-text', text: 'Submit Code').trigger(:click) find('.success-msg wbr', 'Your code has been validated!') + fill_in "first", with: "Seth" fill_in "email", with: "amzposa1@jamkazam.com" fill_in "password", with: "jam123" select 'Acoustic Guitar', from: "instrument" @@ -58,11 +59,13 @@ describe "Activate Account Card", :js => true, :type => :feature, :capybara_feat find('a.amazon-a-button-text', text: 'Submit Code').trigger(:click) find('.success-msg wbr', 'Your code has been validated!') + fill_in "first", with: "Seth" select 'Acoustic Guitar', from: "instrument" find('a.amazon-a-button-text', text: 'Create Account').trigger(:click) find('.error', text: "Email can't be blank") + fill_in "first", with: "Seth" fill_in "email", with: "amzpos2@jamkazam.com" fill_in "password", with: "jam123" select 'Acoustic Guitar', from: "instrument"