From 64824d35876ddca65945a9d9291bd778ca3a584c Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Tue, 4 Mar 2014 22:12:44 -0500 Subject: [PATCH] VRFS-614 remove remaining async=false lines --- web/app/assets/javascripts/bandProfile.js | 106 +++++++++++----------- web/app/assets/javascripts/jam_rest.js | 27 +++++- 2 files changed, 80 insertions(+), 53 deletions(-) diff --git a/web/app/assets/javascripts/bandProfile.js b/web/app/assets/javascripts/bandProfile.js index 7027661ea..0b5b3a28a 100644 --- a/web/app/assets/javascripts/bandProfile.js +++ b/web/app/assets/javascripts/bandProfile.js @@ -238,31 +238,34 @@ } function bindSocial() { - // FOLLOWERS - var url = "/api/bands/" + bandId + "/followers"; - $.ajax({ - type: "GET", - dataType: "json", - url: url, - async: false, - processData:false, - success: function(response) { - $.each(response, function(index, val) { - var template = $('#template-band-profile-social').html(); - var followerHtml = context.JK.fillTemplate(template, { - userId: val.id, - hoverAction: val.musician ? "musician" : "fan", - avatar_url: context.JK.resolveAvatarUrl(val.photo_url), - userName: val.name, - location: val.location - }); - $('#band-profile-social-followers').append(followerHtml); - }); - }, - error: app.ajaxError + rest.getBandFollowers(bandId) + .done(function(response) { + $.each(response, function(index, val) { + var template = $('#template-band-profile-social').html(); + var followerHtml = context.JK.fillTemplate(template, { + userId: val.id, + hoverAction: val.musician ? "musician" : "fan", + avatar_url: context.JK.resolveAvatarUrl(val.photo_url), + userName: val.name, + location: val.location + }); + + $('#band-profile-social-followers').append(followerHtml); + + if (index === response.length-1) { + context.JK.bindHoverEvents(); + } + }) + }) + .fail(function(xhr) { + if(xhr.status >= 500) { + context.JK.fetchUserNetworkOrServerFailure(); + } + else { + context.JK.app.ajaxError(arguments); + } }); - context.JK.bindHoverEvents(); } /****************** HISTORY TAB *****************/ @@ -298,39 +301,38 @@ } function bindMembers() { - var url = "/api/bands/" + bandId + "/musicians"; - $.ajax({ - type: "GET", - dataType: "json", - url: url, - async: false, - processData:false, - success: function(response) { - bindMusicians(response); - }, - error: app.ajaxError - }); - - if (isMember) { + rest.getBandMembers(bandId, false) + .done(function(response) { + bindMusicians(response); + if (isMember) { bindPendingMembers(); - } + } + }) + .fail(function(xhr) { + if(xhr.status >= 500) { + context.JK.fetchUserNetworkOrServerFailure(); + } + else { + context.JK.app.ajaxError(arguments); + } + }); } function bindPendingMembers() { - var url = "/api/bands/" + bandId + "/musicians?pending=true"; - $.ajax({ - type: "GET", - dataType: "json", - url: url, - async: false, - processData:false, - success: function(response) { - if (response && response.length > 0) { - $("#band-profile-members").append("

Pending Band Invitations

"); - bindMusicians(response); - } - }, - error: app.ajaxError + rest.getBandMembers(bandId, true) + .done(function(response) { + if (response && response.length > 0) { + $("#band-profile-members").append("

Pending Band Invitations

"); + bindMusicians(response); + } + }) + .fail(function(xhr) { + if(xhr.status >= 500) { + context.JK.fetchUserNetworkOrServerFailure(); + } + else { + context.JK.app.ajaxError(arguments); + } }); } diff --git a/web/app/assets/javascripts/jam_rest.js b/web/app/assets/javascripts/jam_rest.js index 0a5bea9cd..7e7df74b9 100644 --- a/web/app/assets/javascripts/jam_rest.js +++ b/web/app/assets/javascripts/jam_rest.js @@ -204,11 +204,25 @@ type: "DELETE", dataType: "json", url: url, - async: false, processData:false }); } + function getBandMembers(bandId, hasPendingInvitation) { + var url = "/api/bands/" + bandId + "/musicians"; + + if (hasPendingInvitation) { + url += "?pending=true"; + } + + return $.ajax({ + type: "GET", + dataType: "json", + url: url, + processData:false + }); + } + function getSession(id) { var url = "/api/sessions/" + id; return $.ajax({ @@ -518,6 +532,15 @@ }); } + function getBandFollowers(bandId) { + return $.ajax({ + type: "GET", + dataType: "json", + url: "/api/bands/" + bandId + "/bands", + processData:false + }); + } + function getClientDownloads(options) { return $.ajax({ @@ -874,6 +897,7 @@ this.getFollowings = getFollowings; this.getFollowers = getFollowers; this.getBands = getBands; + this.getBandFollowers = getBandFollowers; this.updateSession = updateSession; this.getSessionHistory = getSessionHistory; this.addSessionComment = addSessionComment; @@ -916,6 +940,7 @@ this.createBandInvitation = createBandInvitation; this.updateBandInvitation = updateBandInvitation; this.removeBandMember = removeBandMember; + this.getBandMembers = getBandMembers; this.login = login; this.getShareSession = getShareSession; this.getShareRecording = getShareRecording;