diff --git a/plugins/DomainWhitelist/DomainWhitelistPlugin.php b/plugins/DomainWhitelist/DomainWhitelistPlugin.php index e320fb2490..9e1b31ef34 100644 --- a/plugins/DomainWhitelist/DomainWhitelistPlugin.php +++ b/plugins/DomainWhitelist/DomainWhitelistPlugin.php @@ -248,11 +248,25 @@ class DomainWhitelistPlugin extends Plugin */ function onStartShowInviteForm($action) { + $this->showConfirmDialog($action); $form = new WhitelistInviteForm($action, $this->getWhitelist()); $form->show(); return false; } + function showConfirmDialog($action) + { + // For JQuery UI modal dialog + $action->elementStart( + 'div', + // TRANS: Title for invitiation deletion dialog. + array('id' => 'confirm-dialog', 'title' => _m('Confirmation Required')) + ); + // TRANS: Confirmation text for invitation deletion dialog. + $action->text(_m('Really delete this invitation?')); + $action->elementEnd('div'); + } + /** * This is a bit of a hack. We take the values from the custom * whitelist invite form and reformat them so they look like diff --git a/plugins/DomainWhitelist/js/whitelistinvite.js b/plugins/DomainWhitelist/js/whitelistinvite.js index d6a5a29eed..9a71936445 100644 --- a/plugins/DomainWhitelist/js/whitelistinvite.js +++ b/plugins/DomainWhitelist/js/whitelistinvite.js @@ -27,14 +27,41 @@ SN_WHITELIST.addRow = function() { }; SN_WHITELIST.removeRow = function() { - $(this).closest("li").hide("blind", "slow", function() { - $(this).remove(); - SN_WHITELIST.updateButtons(); + + var that = this; + + $("#confirm-dialog").dialog({ + buttons : { + "Confirm" : function() { + $(this).dialog("close"); + $(that).closest("li").hide("blind", "slow", function() { + $(this).remove(); + SN_WHITELIST.updateButtons(); + }); + }, + "Cancel" : function() { + $(this).dialog("close"); + } + } }); + + if ($(this).closest('li').find(':input[name^=username]').val()) { + $("#confirm-dialog").dialog("open"); + } else { + $(that).closest("li").hide("blind", "slow", function() { + $(this).remove(); + SN_WHITELIST.updateButtons(); + }); + } }; $(document).ready(function() { + + $("#confirm-dialog").dialog({ + autoOpen: false, + modal: true + }); + $('.add_row').live('click', SN_WHITELIST.addRow); $('.remove_row').live('click', SN_WHITELIST.removeRow); }); - diff --git a/plugins/DomainWhitelist/lib/whitelistinviteform.php b/plugins/DomainWhitelist/lib/whitelistinviteform.php index 4928b88199..165d708b75 100644 --- a/plugins/DomainWhitelist/lib/whitelistinviteform.php +++ b/plugins/DomainWhitelist/lib/whitelistinviteform.php @@ -134,7 +134,7 @@ class WhitelistInviteForm extends Form $this->showMultiControls(); $this->out->elementEnd('li'); } - + function showMultiControls() { $this->out->element(