// Generated by CoffeeScript 1.7.1 (function() { var fOnLoad; fOnLoad = function() { var fErrHandler, fFetchRules, fUpdateRuleList; document.title = 'Edit Rules'; $('#pagetitle').text("{{{user.username}}}, edit your Rules!"); fErrHandler = function(errMsg) { return function(err) { var fDelayed; if (err.status === 401) { return window.location.href = 'forge?page=edit_rules'; } else { $('#log_col').text(""); fDelayed = function() { var msg, oErr; if (err.responseText === '') { msg = 'No Response from Server!'; } else { try { oErr = JSON.parse(err.responseText); msg = oErr.message; } catch (_error) {} } $('#info').text(errMsg + msg); return $('#info').attr('class', 'error'); }; return setTimeout(fDelayed, 500); } }; }; fFetchRules = function() { return $.post('/usercommand', { command: 'get_rules' }).done(fUpdateRuleList).fail(fErrHandler('Did not retrieve rules! ')); }; fUpdateRuleList = function(data) { var img, inp, ruleName, tr, _i, _len, _ref, _results; $('#tableRules tr').remove(); _ref = data.message; _results = []; for (_i = 0, _len = _ref.length; _i < _len; _i++) { ruleName = _ref[_i]; tr = $(''); img = $('').attr('class', 'del').attr('title', 'Delete Rule').attr('src', 'red_cross_small.png'); tr.append($('').append(img)); img = $('').attr('class', 'edit').attr('title', 'Edit Rule').attr('src', 'edit.png'); tr.append($('').append(img)); img = $('').attr('class', 'log').attr('title', 'Show Rule Log').attr('src', 'logicon.png'); tr.append($('').append(img)); inp = $('
').text(ruleName); tr.append($('').append(inp)); _results.push($('#tableRules').append(tr)); } return _results; }; fFetchRules(); $('#tableRules').on('click', 'img.del', function() { var data, ruleName; ruleName = $('div', $(this).closest('tr')).text(); if (confirm("Do you really want to delete the rule '" + ruleName + "'?")) { $('#log_col').text(""); data = { command: 'delete_rule', payload: JSON.stringify({ id: ruleName }) }; return $.post('/usercommand', data).done(fFetchRules).fail(fErrHandler('Could not delete rule! ')); } }); $('#tableRules').on('click', 'img.edit', function() { var ruleName; ruleName = $('div', $(this).closest('tr')).text(); return window.location.href = 'forge?page=forge_rule&id=' + encodeURIComponent(ruleName); }); return $('#tableRules').on('click', 'img.log', function() { var data, ruleName; ruleName = $('div', $(this).closest('tr')).text(); data = { command: 'get_rule_log', payload: JSON.stringify({ id: ruleName }) }; return $.post('/usercommand', data).done(function(data) { var log, ts; ts = (new Date()).toISOString(); log = data.message.replace(new RegExp("\n", 'g'), "
"); return $('#log_col').html("

" + ruleName + " Log:

( updated UTC|" + ts + " )

" + log); }).fail(fErrHandler('Could not get rule log! ')); }); }; window.addEventListener('load', fOnLoad, true); }).call(this);