diff options
Diffstat (limited to 'static/js/admin.js')
| -rw-r--r-- | static/js/admin.js | 51 |
1 files changed, 47 insertions, 4 deletions
diff --git a/static/js/admin.js b/static/js/admin.js index e6bef70..e54368c 100644 --- a/static/js/admin.js +++ b/static/js/admin.js @@ -11,12 +11,10 @@ Admin._select = function(name, opts) { } Admin.mute = function(nick) { - var errorbox = $('<div class="errorbox" style="display: none">'); var time = $('<input type="text" name="time" size="3">'); var unit = Admin._select('unit', ['minutes', 'hours', 'days']); var reason = $('<textarea name="reason" rows="4" cols="30">'); var html = $('<div>') - .append(errorbox) .append($('<div>').text(nick + ' will be muted for:')) .append(time) .append(unit) @@ -53,10 +51,55 @@ Admin.mute = function(nick) { }); }; html.dialog({ - modal: false, + modal: true, title: title, width: 400, buttons: { 'OK': submit , 'Cancel': close } }); html.dialog('open'); -};
\ No newline at end of file +}; + +Admin.cancelMute = function(id, nick) { + var reason = $('<textarea name="reason" rows="4" cols="30">'); + var html = $('<div>') + .append($('<div>').text('Cancelling mute for ' + nick)) + .append($('<br>')) + .append($('<div>').text('Reason:')) + .append(reason) + .appendTo($(Admin._dialogHtml)); + var title = 'Cancelling mute for ' + nick; + var close = function() { html.dialog('close'); } + var submit = function() { + html.find('[name]').removeClass('ui-state-error'); + + var r = reason.val(); + if (!r) { + reason.addClass('ui-state-error'); + return; + } + + var onSuccess = function(resp) { + location.reload(); + }; + + $.ajax({ + type: 'POST', + timeout: 5000, + url: '/cancel-mute', + cache: false, + data: { 'mute_id': id, 'reason': r }, + success: onSuccess, + error: function(s) { + alert("Error cancelling mute: " + s.responseText); + close(); + } + }); + }; + html.dialog({ + modal: true, + title: title, + width: 400, + buttons: { 'OK': submit , 'Cancel': close } + }); + html.dialog('open'); +}
\ No newline at end of file |
