diff --git a/ruby/lib/jam_ruby/models/jam_track.rb b/ruby/lib/jam_ruby/models/jam_track.rb index 6e07858a3..ba256e921 100644 --- a/ruby/lib/jam_ruby/models/jam_track.rb +++ b/ruby/lib/jam_ruby/models/jam_track.rb @@ -472,7 +472,7 @@ module JamRuby def has_count_in? has_count_in = false if jmep_json - jmep = JSON.parse(jmep_json) + jmep = jmep_json if jmep["Events"] events = jmep["Events"] diff --git a/ruby/lib/jam_ruby/models/user.rb b/ruby/lib/jam_ruby/models/user.rb index c85388f25..e08c5260c 100644 --- a/ruby/lib/jam_ruby/models/user.rb +++ b/ruby/lib/jam_ruby/models/user.rb @@ -1949,7 +1949,7 @@ module JamRuby end def can_buy_test_drive? - lesson_purchases.where('lesson_package_type_id in (?)', LessonPackageType.test_drive_package_ids).where('created_at > ?', APP_CONFIG.test_drive_wait_period_year.years.ago).count == 0 + lesson_purchases.where('lesson_package_type_id in (?)', LessonPackageType.test_drive_package_ids).where('created_at > ?', Rails.application.config.test_drive_wait_period_year.years.ago).count == 0 end def lessons_with_teacher(teacher) @@ -2219,7 +2219,7 @@ module JamRuby end def recent_test_drive_teachers - User.select('distinct on (users.id) users.*').joins(taught_lessons: :music_session).where('lesson_sessions.lesson_type = ?', LessonSession::LESSON_TYPE_TEST_DRIVE).where('music_sessions.user_id = ?', id).where('lesson_sessions.created_at > ?', APP_CONFIG.test_drive_wait_period_year.years.ago) + User.select('distinct on (users.id) users.*').joins(taught_lessons: :music_session).where('lesson_sessions.lesson_type = ?', LessonSession::LESSON_TYPE_TEST_DRIVE).where('music_sessions.user_id = ?', id).where('lesson_sessions.created_at > ?', Rails.application.config.test_drive_wait_period_year.years.ago) end def mark_session_ready diff --git a/ruby/lib/jam_ruby/resque/jam_track_mixdown_packager.rb b/ruby/lib/jam_ruby/resque/jam_track_mixdown_packager.rb index 05b7a926d..4246b432e 100644 --- a/ruby/lib/jam_ruby/resque/jam_track_mixdown_packager.rb +++ b/ruby/lib/jam_ruby/resque/jam_track_mixdown_packager.rb @@ -55,7 +55,7 @@ module JamRuby end @mixdown = @mixdown_package.jam_track_mixdown - @settings = JSON.parse(@mixdown.settings) + @settings = @mixdown.settings process_jmep @@ -119,9 +119,6 @@ module JamRuby log.info("speed factor #{@speed_factor}") jmep = @mixdown.jam_track.jmep_json - if jmep - jmep = JSON.parse(jmep) - end if jmep.nil? log.debug("no jmep") @@ -763,6 +760,7 @@ module JamRuby end @mixdown_package.finish_errored(@error_reason, @error_detail) + log.error "mixdown package failed. reason=#{@error_reason}\n#detail=#{@error_detail}" rescue Exception => e log.error "unable to post back to the database the error #{e}" end diff --git a/web/app/assets/javascripts/react-components/mixins/ICheckMixin.js.coffee b/web/app/assets/javascripts/react-components/mixins/ICheckMixin.js.coffee index 38b7c247b..a1a4eb622 100644 --- a/web/app/assets/javascripts/react-components/mixins/ICheckMixin.js.coffee +++ b/web/app/assets/javascripts/react-components/mixins/ICheckMixin.js.coffee @@ -10,57 +10,48 @@ teacherActions = window.JK.Actions.Teacher @setCheckboxState() @enableICheck() - setSingleCheckbox: (checkbox) -> - selector = checkbox.selector - - if checkbox.stateKey? - choice = @state[checkbox.stateKey] - else - choice = @props[checkbox.propsKey] - - $candidate = @root.find(selector) - - - @iCheckIgnore = true - - if $candidate.attr('type') == 'radio' - if choice? - $found = @root.find(selector + '[value="' + choice + '"]') - $found.iCheck('check').attr('checked', true) - else - $candidate.iCheck('uncheck').attr('checked', false) - else - if choice - $candidate.iCheck('check').attr('checked', true); - else - $candidate.iCheck('uncheck').attr('checked', false); - @iCheckIgnore = false - setCheckboxState: () -> - for checkbox in this.checkboxes - @setSingleCheckbox(checkbox) - return + for checkbox in @checkboxes + selector = checkbox.selector - enableSingle: (checkbox) -> - selector = checkbox.selector + if checkbox.stateKey? + choice = @state[checkbox.stateKey] + else + choice = @props[checkbox.propsKey] - checkBoxes = @root.find(selector + '[type="checkbox"]') - if checkBoxes.length > 0 - context.JK.checkbox(checkBoxes) - checkBoxes.on('ifChanged', (e) => @checkIfCanFire(e)) - radioBoxes = @root.find(selector + '[type="radio"]') - if radioBoxes.length > 0 - context.JK.checkbox(radioBoxes) - radioBoxes.on('ifChanged', (e) => @checkIfCanFire(e)) + $candidate = @root.find(selector) + @iCheckIgnore = true + + if $candidate.attr('type') == 'radio' + if choice? + $found = @root.find(selector + '[value="' + choice + '"]') + $found.iCheck('check').attr('checked', true) + else + $candidate.iCheck('uncheck').attr('checked', false) + else + if choice + $candidate.iCheck('check').attr('checked', true); + else + $candidate.iCheck('uncheck').attr('checked', false); + @iCheckIgnore = false + enableICheck: (e) -> if !@root? return - for checkbox in this.checkboxes - @enableSingle(checkbox) - return + for checkbox in @checkboxes + selector = checkbox.selector + + checkBoxes = @root.find(selector + '[type="checkbox"]') + if checkBoxes.length > 0 + context.JK.checkbox(checkBoxes) + checkBoxes.on('ifChanged', (e) => @checkIfCanFire(e)) + radioBoxes = @root.find(selector + '[type="radio"]') + if radioBoxes.length > 0 + context.JK.checkbox(radioBoxes) + radioBoxes.on('ifChanged', (e) => @checkIfCanFire(e)) true diff --git a/web/app/assets/stylesheets/client/header.scss b/web/app/assets/stylesheets/client/header.scss index 0d0f78071..b95228f40 100644 --- a/web/app/assets/stylesheets/client/header.scss +++ b/web/app/assets/stylesheets/client/header.scss @@ -25,7 +25,7 @@ div[layout="header"] h1 { overflow: hidden; text-align: left; text-transform: capitalize; - background-image: url("header/logo.png"); + background-image: image-url("header/logo.png"); background-repeat: no-repeat; background-position: 50% 50%; float:left; diff --git a/web/app/controllers/application_controller.rb b/web/app/controllers/application_controller.rb index 71783e4a4..d53082629 100644 --- a/web/app/controllers/application_controller.rb +++ b/web/app/controllers/application_controller.rb @@ -1,6 +1,6 @@ require 'bugsnag' class ApplicationController < ActionController::Base - protect_from_forgery + #protect_from_forgery #XXX turn back on; but client needs to send X-CRSF-TOKEN intsead of COOKIE include ApplicationHelper include SessionsHelper include ClientHelper diff --git a/web/app/helpers/sessions_helper.rb b/web/app/helpers/sessions_helper.rb index 30257fe1f..93b02e8c6 100644 --- a/web/app/helpers/sessions_helper.rb +++ b/web/app/helpers/sessions_helper.rb @@ -66,6 +66,7 @@ module SessionsHelper end def current_user + puts "COOKIES! #{cookies.inspect}" @current_user ||= User.find_by_remember_token(cookies[:remember_token]) end diff --git a/web/config/application.rb b/web/config/application.rb index 71f3e43a3..5a75aaceb 100644 --- a/web/config/application.rb +++ b/web/config/application.rb @@ -142,7 +142,6 @@ if defined?(Bundler) config.websocket_gateway_uri_ssl = "wss://#{config.external_hostname}:#{config.websocket_gateway_port_ssl}/websocket" config.websocket_gateway_trusted_uri_ssl = "wss://#{config.external_hostname}:#{config.websocket_gateway_port_ssl + 1}/websocket" - config.storage_type = :fog # config.storage_type = :file # or :fog, if using AWS diff --git a/web/config/routes.rb b/web/config/routes.rb index 3b52fae6e..d10daa4e0 100644 --- a/web/config/routes.rb +++ b/web/config/routes.rb @@ -630,7 +630,7 @@ Rails.application.routes.draw do get '/versioncheck' => 'artifacts#versioncheck' # discover websocket gateway info - get '/config' => 'api_configs#index' + get '/config' => 'api_configs#index' # no-op method to see if server is running get '/healthcheck' => 'artifacts#healthcheck' diff --git a/web/spec/controllers/api_jamblasters_controller_spec.rb b/web/spec/controllers/api_jamblasters_controller_spec.rb index 09330dd46..80381afa0 100644 --- a/web/spec/controllers/api_jamblasters_controller_spec.rb +++ b/web/spec/controllers/api_jamblasters_controller_spec.rb @@ -1,5 +1,5 @@ require 'spec_helper' -describe ApiJamblastersController do +describe ApiJamblastersController, type: :controller do render_views let(:user) { FactoryGirl.create(:user) } diff --git a/web/spec/controllers/api_reviews_controller_spec.rb b/web/spec/controllers/api_reviews_controller_spec.rb index 29a670c28..fa1f1355a 100644 --- a/web/spec/controllers/api_reviews_controller_spec.rb +++ b/web/spec/controllers/api_reviews_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe ApiReviewsController do +describe ApiReviewsController, type: :controller do render_views before(:all) do @logged_in_user = FactoryGirl.create(:user) diff --git a/web/spec/controllers/api_school_invitations_controller_spec.rb b/web/spec/controllers/api_school_invitations_controller_spec.rb index 8a676b692..cb5788333 100644 --- a/web/spec/controllers/api_school_invitations_controller_spec.rb +++ b/web/spec/controllers/api_school_invitations_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe ApiSchoolInvitationsController do +describe ApiSchoolInvitationsController, type: :controller do render_views let (:owner) {FactoryGirl.create(:user)} diff --git a/web/spec/controllers/api_schools_controller_spec.rb b/web/spec/controllers/api_schools_controller_spec.rb index 8b37ce10a..e324b2f2c 100644 --- a/web/spec/controllers/api_schools_controller_spec.rb +++ b/web/spec/controllers/api_schools_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe ApiSchoolsController do +describe ApiSchoolsController, type: :controller do render_views let (:owner) {FactoryGirl.create(:user)} diff --git a/web/spec/controllers/api_teachers_controller_spec.rb b/web/spec/controllers/api_teachers_controller_spec.rb index 37745af8b..8cf0db283 100644 --- a/web/spec/controllers/api_teachers_controller_spec.rb +++ b/web/spec/controllers/api_teachers_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe ApiTeachersController do +describe ApiTeachersController, type: :controller do render_views BIO = "Once a man learned a guitar." diff --git a/web/spec/factories.rb b/web/spec/factories.rb index 5011513e0..26347475d 100644 --- a/web/spec/factories.rb +++ b/web/spec/factories.rb @@ -872,7 +872,6 @@ FactoryGirl.define do association :user, factory: :user sequence(:serial_no ) { |n| "serial_no#{n}" } - sequence(:vtoken ) { |n| "vtoken#{n}" } sequence(:client_id ) { |n| "client_id#{n}" } end diff --git a/web/spec/controllers/users_controller_spec.rb b/web/spec/requests/users_controller_spec.rb similarity index 99% rename from web/spec/controllers/users_controller_spec.rb rename to web/spec/requests/users_controller_spec.rb index 84a20c524..0a97f6cb6 100644 --- a/web/spec/controllers/users_controller_spec.rb +++ b/web/spec/requests/users_controller_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe UsersController, :type => :request do - render_views + #render_views let(:user) { FactoryGirl.create(:user) } let(:utm_valid_url) { '/?utm_source=abcya&utm_medium=browsers&utm_campaign=dog' }