diff --git a/assets/controllers/elements/delete_btn_controller.js b/assets/controllers/elements/delete_btn_controller.js index 0a8c90c2..f41a6bee 100644 --- a/assets/controllers/elements/delete_btn_controller.js +++ b/assets/controllers/elements/delete_btn_controller.js @@ -10,6 +10,33 @@ export default class extends Controller this._confirmed = false; } + click(event) { + //If a user has not already confirmed the deletion, just let turbo do its work + if(this._confirmed) { + this._confirmed = false; + return; + } + + event.preventDefault(); + + const message = this.element.dataset.deleteMessage; + const title = this.element.dataset.deleteTitle; + + const that = this; + + const confirm = bootbox.confirm({ + message: message, title: title, callback: function (result) { + //If the dialog was confirmed, then submit the form. + if (result) { + that._confirmed = true; + event.target.click(); + } else { + that._confirmed = false; + } + } + }); + } + submit(event) { //If a user has not already confirmed the deletion, just let turbo do its work if(this._confirmed) { diff --git a/templates/AdminPages/UserAdmin.html.twig b/templates/AdminPages/UserAdmin.html.twig index dfbf5b32..7ceae24e 100644 --- a/templates/AdminPages/UserAdmin.html.twig +++ b/templates/AdminPages/UserAdmin.html.twig @@ -68,8 +68,8 @@ {% endif %} - {% endif %} diff --git a/templates/Users/_2fa_settings.html.twig b/templates/Users/_2fa_settings.html.twig index b6c1b114..a93149c9 100644 --- a/templates/Users/_2fa_settings.html.twig +++ b/templates/Users/_2fa_settings.html.twig @@ -30,7 +30,7 @@ {% set google_form_attr = {} %} {% if tfa_google.enabled %} {% set google_form_attr = { 'data-delete-form': true, 'data-controller': 'elements--delete-btn', 'data-action': 'submit->elements--delete-btn#submit', - 'data-title': 'tfa_google.disable.confirm_title' | trans, 'data-message': 'tfa_google.disable.confirm_message'|trans} %} + 'data-delete-title': 'tfa_google.disable.confirm_title' | trans, 'data-delete-message': 'tfa_google.disable.confirm_message'|trans} %} {% endif %} {{ form_start(google_form, { 'attr': google_form_attr}) }} @@ -85,7 +85,7 @@ {% else %} {% set backup_form_attr = { 'data-delete-form': true, 'data-controller': 'elements--delete-btn', 'data-action': 'submit->elements--delete-btn#submit', - 'data-title': 'tfa_backup.reset_codes.confirm_title' | trans, 'data-message': 'tfa_backup.reset_codes.confirm_message' | trans} %} + 'data-delete-title': 'tfa_backup.reset_codes.confirm_title' | trans, 'data-delete-message': 'tfa_backup.reset_codes.confirm_message' | trans} %} {{ form_start(backup_form, { 'attr': backup_form_attr}) }}
{% trans %}tfa_backup.enabled{% endtrans %}