Skip to content

Commit 58a7034

Browse files
authored
Merge pull request #32532 from dimagi/em/switching-project-spaces-bugfix
"Switching project spaces" bugfix on smart link
2 parents d3b79f1 + 9bef60c commit 58a7034

File tree

1 file changed

+12
-3
lines changed
  • corehq/apps/cloudcare/static/cloudcare/js/formplayer

1 file changed

+12
-3
lines changed

corehq/apps/cloudcare/static/cloudcare/js/formplayer/app.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,16 @@ hqDefine("cloudcare/js/formplayer/app", function () {
2121
var FormplayerFrontend = new Marionette.Application();
2222

2323
FormplayerFrontend.on("before:start", function (app, options) {
24+
const xsrfRequest = new $.Deferred();
25+
this.xsrfRequest = xsrfRequest.promise();
2426
// Make a get call if the csrf token isn't available when the page loads.
2527
if ($.cookie('XSRF-TOKEN') === undefined) {
26-
$.get({url: options.formplayer_url + '/serverup', global: false, xhrFields: { withCredentials: true }});
28+
$.get(
29+
{url: options.formplayer_url + '/serverup', global: false, xhrFields: { withCredentials: true }}
30+
).always(() => { xsrfRequest.resolve(); });
31+
} else {
32+
// resolve immediately
33+
xsrfRequest.resolve();
2734
}
2835
var RegionContainer = Marionette.View.extend({
2936
el: "#menu-container",
@@ -300,7 +307,6 @@ hqDefine("cloudcare/js/formplayer/app", function () {
300307
hqRequire(["cloudcare/js/formplayer/apps/api"], function (AppsAPI) {
301308
AppsAPI.primeApps(user.restoreAs, options.apps);
302309
});
303-
304310
$.when(FormplayerUtils.getSavedDisplayOptions()).done(function (savedDisplayOptions) {
305311
savedDisplayOptions = _.pick(
306312
savedDisplayOptions,
@@ -315,7 +321,10 @@ hqDefine("cloudcare/js/formplayer/app", function () {
315321
});
316322

317323
FormplayerFrontend.getChannel().request('gridPolyfillPath', options.gridPolyfillPath);
318-
$.when(FormplayerFrontend.getChannel().request("appselect:apps")).done(function (appCollection) {
324+
$.when(
325+
FormplayerFrontend.getChannel().request("appselect:apps"),
326+
FormplayerFrontend.xsrfRequest
327+
).done(function (appCollection) {
319328
var appId;
320329
var apps = appCollection.toJSON();
321330
if (Backbone.history) {

0 commit comments

Comments
 (0)