Join requests now present an "are you sure?" modal

This commit is contained in:
2022-03-08 16:11:09 +00:00
parent 52b5a880b2
commit a07ec92546
5 changed files with 96 additions and 35 deletions

View File

@@ -224,40 +224,22 @@ function bindOrganisationButtons(el, options) {
el.find('.js-organisation-join').click(function(e) {
e.preventDefault();
var data = {};
data[site.csrf.keys.name] = site.csrf.name;
data[site.csrf.keys.value] = site.csrf.value;
$("body").ufModal({
sourceUrl: site.uri.public + "/modals/organisations/o/" + $(this).data('slug') + "/members/confirm-join",
ajaxParams: {
slug: $(this).data('slug')
},
msgTarget: $("#alerts-page")
});
var url = site.uri.public + '/api/organisations/o/' + $(this).data('slug') + '/members';
var debugAjax = (typeof site !== "undefined") && site.debug.ajax;
$("body").on('renderSuccess.ufModal', function() {
var modal = $(this).ufModal('getModal');
var form = modal.find('.js-form');
return $.ajax({
type: "POST",
url: url,
data: data,
dataType: debugAjax ? 'html' : 'json',
}).fail(function(jqXHR) {
// Error messages
if (debugAjax && jqXHR.responseText) {
document.write(jqXHR.responseText);
document.close();
} else {
console.log("Error (" + jqXHR.status + "): " + jqXHR.responseText);
// Display errors on failure
// TODO: ufAlerts widget should have a 'destroy' method
if (!$("#alerts-page").data('ufAlerts')) {
$("#alerts-page").ufAlerts();
} else {
$("#alerts-page").ufAlerts('clear');
}
$("#alerts-page").ufAlerts('fetch').ufAlerts('render');
}
return jqXHR;
}).done(function(response) {
window.location.reload();
form.ufForm()
.on("submitSuccess.ufForm", function() {
window.location.reload();
});
});
});