Skip to content

Commit 0587c34

Browse files
authored
Merge pull request #913 from nextcloud/fix/noid/metadata-ajax-error
fix(UI): fix usage of $.ajax by going VanillaJS
2 parents 2fd7031 + 474c65f commit 0587c34

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

js/admin.js

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -120,26 +120,32 @@
120120
},
121121

122122
testMetaData: function() {
123-
var type = $('#user-saml').data('type');
124-
123+
// Checks on each request whether the settings make sense or not
124+
const type = document.getElementById('user-saml').dataset.type;
125125
if (type === 'environment-variable') {
126126
return
127127
}
128128

129-
// Checks on each request whether the settings make sense or not
130-
$.ajax({
131-
url: OC.generateUrl('/apps/user_saml/saml/metadata'),
132-
data: { idp: this.currentConfig },
133-
type: 'GET'
134-
}).fail(function (e) {
135-
if (e.status === 500) {
136-
$('#user-saml-settings-complete').addClass('hidden');
137-
$('#user-saml-settings-incomplete').removeClass('hidden');
129+
let xhr = new XMLHttpRequest();
130+
xhr.open('GET', OC.generateUrl('/apps/user_saml/saml/metadata?idp=' + this.currentConfig));
131+
xhr.setRequestHeader('Content-Type', 'application/json');
132+
xhr.setRequestHeader('requesttoken', OC.requestToken);
133+
134+
xhr.onload = function () {
135+
if (xhr.status >= 200 && xhr.status < 300) {
136+
document.getElementById('user-saml-settings-complete').classList.remove('hidden');
137+
document.getElementById('user-saml-settings-incomplete').classList.add('hidden');
138+
} else {
139+
document.getElementById('user-saml-settings-complete').classList.add('hidden');
140+
document.getElementById('user-saml-settings-incomplete').classList.remove('hidden');
138141
}
139-
}).success(function () {
140-
$('#user-saml-settings-complete').removeClass('hidden');
141-
$('#user-saml-settings-incomplete').addClass('hidden');
142-
});
142+
};
143+
xhr.onerror = function () {
144+
document.getElementById('user-saml-settings-complete').classList.add('hidden');
145+
document.getElementById('user-saml-settings-incomplete').classList.remove('hidden');
146+
};
147+
148+
xhr.send();
143149
},
144150

145151
setSamlConfigValue: function(category, setting, value, global) {
@@ -156,6 +162,9 @@
156162
},
157163
error: function() {
158164
OC.msg.finishedSaving('#user-saml-save-indicator', {status: 'error', data: {message: t('user_saml', 'Could not save')}});
165+
// reset any meta data indicator as the test would not be called now, old state might be misleading
166+
document.getElementById('user-saml-settings-complete').classList.add('hidden');
167+
document.getElementById('user-saml-settings-incomplete').classList.add('hidden');
159168
}
160169
};
161170

0 commit comments

Comments
 (0)