diff --git a/web/app/assets/javascripts/site_validator.js.coffee b/web/app/assets/javascripts/site_validator.js.coffee index 0c450cd72..0ce2c645a 100644 --- a/web/app/assets/javascripts/site_validator.js.coffee +++ b/web/app/assets/javascripts/site_validator.js.coffee @@ -149,9 +149,12 @@ context.JK.RecordingSourceValidator = class RecordingSourceValidator extends Sit @add_btn.removeClass('disabled') if @site_status - @recording_sources.push({ url: response.data, recording_id: response.recording_id }) + @recording_sources.push({ url: response.data, recording_id: response.recording_id, recording_title: response.recording_title }) if @site_success_callback @site_success_callback(@input_div) + else + if @site_fail_callback + @site_fail_callback(@input_div) processSiteCheckFail: (response) => super(response) diff --git a/web/app/controllers/api_users_controller.rb b/web/app/controllers/api_users_controller.rb index a6ebb81c3..947976474 100644 --- a/web/app/controllers/api_users_controller.rb +++ b/web/app/controllers/api_users_controller.rb @@ -760,9 +760,10 @@ class ApiUsersController < ApiController if site.blank? || 'url'==site url = data elsif Utils.recording_source?(site) - rec_id = Utils.extract_recording_id(site, data) - if rec_id - render json: { message: 'Valid Site', recording_id: rec_id, data: data }, status: 200 + rec_data = Utils.extract_recording_data(site, data) + binding.pry + if rec_data + render json: { message: 'Valid Site', recording_id: rec_data["id"], recording_title: rec_data["title"], data: data }, status: 200 return else render json: { message: 'Invalid Site', data: data, errors: { site: ["Could not detect recording identifier"] } }, status: 200 diff --git a/web/app/views/clients/_account_profile_samples.html.erb b/web/app/views/clients/_account_profile_samples.html.erb index e295830e0..c4141b341 100644 --- a/web/app/views/clients/_account_profile_samples.html.erb +++ b/web/app/views/clients/_account_profile_samples.html.erb @@ -172,10 +172,10 @@ window.twitterValidator = new JK.SiteValidator('twitter', userNameSuccessCallback, userNameFailCallback); twitterValidator.init(); - window.soundCloudRecordingValidator = new JK.RecordingSourceValidator('rec_soundcloud', siteSuccessCallback, siteFailCallback); + window.soundCloudRecordingValidator = new JK.RecordingSourceValidator('rec_soundcloud', soundCloudSuccessCallback, siteFailCallback); soundCloudRecordingValidator.init(); - window.youTubeRecordingValidator = new JK.RecordingSourceValidator('rec_youtube', siteSuccessCallback, siteFailCallback); + window.youTubeRecordingValidator = new JK.RecordingSourceValidator('rec_youtube', youTubeSuccessCallback, siteFailCallback); youTubeRecordingValidator.init(); }, 1); @@ -190,7 +190,7 @@ $inputDiv.append("Invalid username").show(); } - function siteSuccessCallback($inputDiv) { + function soundCloudSuccessCallback($inputDiv) { $inputDiv.removeClass('error'); $inputDiv.find('.error-text').remove(); @@ -200,7 +200,24 @@ var $sampleList = $soundCloudSampleList.find('.sample-list'); var addedRecording = recordingSources[recordingSources.length-1]; $sampleList.append('