"));
-
- var currentDomainIDType = getCurrentDomainIDType();
- if (currentDomainIDType === DOMAIN_ID_TYPE_TEMP) {
- var warning = "
";
- warning += "If you choose a place name it will replace your current temporary place name.";
- warning += "
";
- modal_body.append(warning);
- }
-
- // setup a select box for the returned places
- modal_body.append($("
");
- _.each(data.data.places, function(place) {
- places_by_id[place.id] = place;
- place_select.append("
");
- })
- modal_body.append(place_select);
- modal_body.append($("
This place name already points to a place or path. Saving this would overwrite the previous settings associated with it.
"));
-
- if (forcePathTo === undefined || forcePathTo === null) {
- var path = "
";
- modal_body.append($(path));
- }
-
- var place_select = modal_body.find("#place-name-select")
- place_select.change(function(ev) {
- var warning = modal_body.find("#place-name-warning");
- var place = places_by_id[$(this).val()];
- if (place === undefined || place.pointee === null) {
- warning.hide();
- } else {
- warning.show();
+ function loadPlaces() {
+ $.ajax("/api/places", {
+ dataType: 'json',
+ jsonp: false,
+ success: function(data) {
+ if (data.status == 'success') {
+ var modal_buttons = {
+ cancel: {
+ label: Strings.ADD_PLACE_CANCEL_BUTTON,
+ className: 'add-place-cancel-button btn-default'
}
- });
- place_select.trigger('change');
+ };
- modal_buttons["success"] = {
- label: Strings.ADD_PLACE_CONFIRM_BUTTON,
- className: 'add-place-confirm-button btn btn-primary',
- callback: function() {
- var placeID = $('#place-name-select').val();
- // set the place ID on the form
- $(Settings.place_ID_SELECTOR).val(placeID).change();
+ var dialog;
+ var modal_body;
- if (forcePathTo === undefined || forcePathTo === null) {
- var placePath = $('#place-path-input').val();
+ if (data.data.places.length) {
+ var places_by_id = {};
+
+ modal_body = $('
');
+
+ modal_body.append($("
Choose a place name that you own or register a new place name
"));
+
+ var currentDomainIDType = getCurrentDomainIDType();
+ if (currentDomainIDType === DOMAIN_ID_TYPE_TEMP) {
+ var warning = "
";
+ warning += "If you choose a place name it will replace your current temporary place name.";
+ warning += "
";
+ modal_body.append(warning);
+ }
+
+ // setup a select box for the returned places
+ modal_body.append($("
"));
+ place_select = $("
");
+ _.each(data.data.places, function(place) {
+ places_by_id[place.id] = place;
+ place_select.append("
");
+ })
+ modal_body.append(place_select);
+ modal_body.append($("
This place name already points to a place or path. Saving this would overwrite the previous settings associated with it.
"));
+
+ if (forcePathTo === undefined || forcePathTo === null) {
+ var path = "
";
+ path += "";
+ path += "";
+ path += "
";
+ modal_body.append($(path));
+ }
+
+ var place_select = modal_body.find("#place-name-select")
+ place_select.change(function(ev) {
+ var warning = modal_body.find("#place-name-warning");
+ var place = places_by_id[$(this).val()];
+ if (place === undefined || place.pointee === null) {
+ warning.hide();
} else {
- var placePath = forcePathTo;
+ warning.show();
}
+ });
+ place_select.trigger('change');
- $('.add-place-confirm-button').attr('disabled', 'disabled');
- $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON_PENDING);
- $('.add-place-cancel-button').attr('disabled', 'disabled');
+ modal_buttons["success"] = {
+ label: Strings.ADD_PLACE_CONFIRM_BUTTON,
+ className: 'add-place-confirm-button btn btn-primary',
+ callback: function() {
+ var placeID = $('#place-name-select').val();
+ // set the place ID on the form
+ $(Settings.place_ID_SELECTOR).val(placeID).change();
- function finalizeSaveDomainID(domainID) {
- var jsonSettings = {
- metaverse: {
- id: domainID
+ if (forcePathTo === undefined || forcePathTo === null) {
+ var placePath = $('#place-path-input').val();
+ } else {
+ var placePath = forcePathTo;
+ }
+
+ $('.add-place-confirm-button').attr('disabled', 'disabled');
+ $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON_PENDING);
+ $('.add-place-cancel-button').attr('disabled', 'disabled');
+
+ function finalizeSaveDomainID(domainID) {
+ var jsonSettings = {
+ metaverse: {
+ id: domainID
+ }
+ }
+ var dialog = showLoadingDialog("Waiting for Domain Server to restart...");
+ $.ajax('/settings.json', {
+ data: JSON.stringify(jsonSettings),
+ contentType: 'application/json',
+ type: 'POST'
+ }).done(function(data) {
+ if (data.status == "success") {
+ waitForDomainServerRestart(function() {
+ dialog.modal('hide');
+ if (onSuccessfullyAdded) {
+ onSuccessfullyAdded(places_by_id[placeID].name, domainID);
+ }
+ });
+ } else {
+ bootbox.alert("Failed to add place");
+ }
+ }).fail(function() {
+ bootbox.alert("Failed to add place");
+ });
+ }
+
+ function finishSettingUpPlace(domainID) {
+ sendUpdatePlaceRequest(
+ placeID,
+ placePath,
+ domainID,
+ false,
+ function(data) {
+ $(Settings.DOMAIN_ID_SELECTOR).val(domainID).change();
+ dialog.modal('hide')
+ if (domainID) {
+ finalizeSaveDomainID(domainID);
+ } else {
+ if (onSuccessfullyAdded) {
+ onSuccessfullyAdded(places_by_id[placeID].name);
+ }
+ }
+ },
+ function(data) {
+ $('.add-place-confirm-button').removeAttr('disabled');
+ $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON);
+ $('.add-place-cancel-button').removeAttr('disabled');
+ bootbox.alert(Strings.ADD_PLACE_UNKNOWN_ERROR);
+ }
+ );
+ }
+
+ function maybeCreateNewDomainID() {
+ console.log("Maybe creating domain id", currentDomainIDType)
+ if (currentDomainIDType === DOMAIN_ID_TYPE_FULL) {
+ finishSettingUpPlace();
+ } else {
+ sendCreateDomainRequest(function(domainID) {
+ console.log("Created domain", domainID);
+ finishSettingUpPlace(domainID);
+ }, function() {
+ $('.add-place-confirm-button').removeAttr('disabled');
+ $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON);
+ $('.add-place-cancel-button').removeAttr('disabled');
+ bootbox.alert(Strings.ADD_PLACE_UNKNOWN_ERROR);
+ bootbox.alert("FAIL");
+ });
}
}
- var dialog = showLoadingDialog("Waiting for Domain Server to restart...");
- $.ajax('/settings.json', {
- data: JSON.stringify(jsonSettings),
- contentType: 'application/json',
- type: 'POST'
- }).done(function(data) {
- if (data.status == "success") {
- waitForDomainServerRestart(function() {
- dialog.modal('hide');
- if (onSuccessfullyAdded) {
- onSuccessfullyAdded(places_by_id[placeID].name, domainID);
- }
- });
- } else {
- bootbox.alert("Failed to add place");
- }
- }).fail(function() {
- bootbox.alert("Failed to add place");
- });
- }
- function finishSettingUpPlace(domainID) {
- sendUpdatePlaceRequest(
- placeID,
- placePath,
- domainID,
- false,
- function(data) {
- $(Settings.DOMAIN_ID_SELECTOR).val(domainID).change();
- dialog.modal('hide')
- if (domainID) {
- finalizeSaveDomainID(domainID);
- } else {
- if (onSuccessfullyAdded) {
- onSuccessfullyAdded(places_by_id[placeID].name);
- }
- }
- },
- function(data) {
- $('.add-place-confirm-button').removeAttr('disabled');
- $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON);
- $('.add-place-cancel-button').removeAttr('disabled');
- bootbox.alert(Strings.ADD_PLACE_UNKNOWN_ERROR);
- }
- );
- }
+ maybeCreateNewDomainID();
- if (currentDomainIDType === DOMAIN_ID_TYPE_FULL) {
- finishSettingUpPlace();
- } else {
- sendCreateDomainRequest(function(domainID) {
- console.log("Created domain", domainID);
- finishSettingUpPlace(domainID);
- }, function() {
- $('.add-place-confirm-button').removeAttr('disabled');
- $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON);
- $('.add-place-cancel-button').removeAttr('disabled');
- bootbox.alert(Strings.ADD_PLACE_UNKNOWN_ERROR);
- bootbox.alert("FAIL");
- });
+ return false;
}
-
- return false;
}
+ } else {
+ modal_buttons["success"] = {
+ label: Strings.ADD_PLACE_NO_PLACES_BUTTON,
+ callback: function() {
+ window.open(URLs.METAVERSE_URL + "/user/places", '_blank');
+ }
+ }
+ modal_body = Strings.ADD_PLACE_NO_PLACES_MESSAGE;
}
+
+ dialog = bootbox.dialog({
+ title: Strings.ADD_PLACE_TITLE,
+ message: modal_body,
+ closeButton: false,
+ buttons: modal_buttons
+ });
} else {
- modal_buttons["success"] = {
- label: Strings.ADD_PLACE_NO_PLACES_BUTTON,
- callback: function() {
- window.open(URLs.METAVERSE_URL + "/user/places", '_blank');
- }
- }
- modal_body = Strings.ADD_PLACE_NO_PLACES_MESSAGE;
+ bootbox.alert(Strings.ADD_PLACE_UNABLE_TO_LOAD_ERROR);
}
-
- dialog = bootbox.dialog({
- title: Strings.ADD_PLACE_TITLE,
- message: modal_body,
- closeButton: false,
- buttons: modal_buttons
- });
- } else {
+ },
+ error: function() {
bootbox.alert(Strings.ADD_PLACE_UNABLE_TO_LOAD_ERROR);
+ },
+ complete: function() {
+ loadingDialog.modal('hide');
}
- },
- error: function() {
- bootbox.alert(Strings.ADD_PLACE_UNABLE_TO_LOAD_ERROR);
- },
- complete: function() {
- loadingDialog.modal('hide');
- }
- });
+ });
+ }
+
+ var domainType = getCurrentDomainIDType();
+ if (domainType !== DOMAIN_ID_TYPE_UNKNOWN) {
+ loadPlaces();
+ } else {
+ getDomainFromAPI(function(data) {
+ if (data.status === 'success') {
+ var domainType = getCurrentDomainIDType();
+ loadPlaces();
+ } else {
+ loadingDialog.modal('hide');
+ bootbox.confirm("We were not able to load your domain information from the Metaverse. Would you like to retry?", function(response) {
+ if (response) {
+ chooseFromHighFidelityPlaces(accessToken, forcePathTo, onSuccessfullyAdded);
+ }
+ });
+ }
+ })
+ }
} else {
bootbox.alert({
diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js
index 1224b724da..7f99b367a3 100644
--- a/domain-server/resources/web/settings/js/settings.js
+++ b/domain-server/resources/web/settings/js/settings.js
@@ -980,20 +980,6 @@ function placeTableRowForPlaceObject(place) {
return placeTableRow(place.name, placePathOrIndex, false, place.id);
}
-function getDomainFromAPI(callback) {
- var domainID = Settings.data.values.metaverse.id;
- $.ajax({
- url: "/api/domains/" + domainID,
- dataType: 'json',
- success: function(data) {
- callback(data);
- },
- error: function() {
- callback({ status: 'fail' });
- }
- });
-}
-
function reloadDomainInfo() {
$('#' + Settings.PLACES_TABLE_ID + " tbody tr").not('.headers').remove();
@@ -1010,7 +996,6 @@ function reloadDomainInfo() {
// check if we have owner_places (for a real domain) or a name (for a temporary domain)
if (data.status == "success") {
$('.domain-loading-hide').show();
- DomainInfo = data.domain;
if (data.domain.owner_places) {
// add a table row for each of these names
_.each(data.domain.owner_places, function(place){
@@ -1043,7 +1028,6 @@ function reloadDomainInfo() {
appendAddButtonToPlacesTable();
} else {
- DomainInfo = null;
$('.domain-loading-error').show();
}
})
diff --git a/domain-server/resources/web/wizard/js/wizard.js b/domain-server/resources/web/wizard/js/wizard.js
index 24a82402a6..1af3f305b7 100644
--- a/domain-server/resources/web/wizard/js/wizard.js
+++ b/domain-server/resources/web/wizard/js/wizard.js
@@ -58,6 +58,7 @@ $(document).ready(function(){
reloadSettings(function(success) {
if (success) {
+ getDomainFromAPI();
setupWizardSteps();
updatePlaceNameDisplay();
updateUsernameDisplay();