From 09086f7d30d5a89e80102cdb2341c3ee007e1b59 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Thu, 19 Feb 2015 23:49:36 -0500 Subject: [PATCH] deleting rewards --- public/src/admin/extend/rewards.js | 25 ++++++++++++++----------- src/rewards/admin.js | 16 +++++++++++++++- src/socket.io/admin/rewards.js | 4 ++++ 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/public/src/admin/extend/rewards.js b/public/src/admin/extend/rewards.js index b57c1c4cee..5dd26c1821 100644 --- a/public/src/admin/extend/rewards.js +++ b/public/src/admin/extend/rewards.js @@ -19,12 +19,19 @@ define('admin/extend/rewards', function() { update($(this)); }); + populateInputs(); + $('.delete').on('click', function() { var parent = $(this).parents('[data-id]'), id = parent.attr('data-id'); - delete active[id]; - // send delete api call + socket.emit('admin.rewards.delete', {id: id}, function(err) { + if (err) { + app.alertError(err.message); + } else { + app.alertSuccess('Successfully deleted reward'); + } + }); parent.remove(); return false; @@ -100,20 +107,16 @@ define('admin/extend/rewards', function() { }); div.html(html); - - populateInputs(); } function populateInputs() { $('[data-rid]').each(function(i) { - if (active[i]) { - var div = $(this).find('.inputs'), - rewards = active[i].rewards; + var div = $(this).find('.inputs'), + rewards = active[i].rewards; - for (var reward in rewards) { - if (rewards.hasOwnProperty(reward)) { - div.find('[name="' + reward + '"]').val(rewards[reward]); - } + for (var reward in rewards) { + if (rewards.hasOwnProperty(reward)) { + div.find('[name="' + reward + '"]').val(rewards[reward]); } } }); diff --git a/src/rewards/admin.js b/src/rewards/admin.js index dc1103f3ae..658c286dcb 100644 --- a/src/rewards/admin.js +++ b/src/rewards/admin.js @@ -32,7 +32,7 @@ var defaults = { rewards.save = function(data, callback) { function save(data, next) { - var rewards = data.rewards; + var rewards = data.rewards || {}; delete data.rewards; async.parallel([ @@ -51,6 +51,20 @@ rewards.save = function(data, callback) { async.each(data, save, callback); }; +rewards.delete = function(data, callback) { + async.parallel([ + function(next) { + db.setRemove('rewards:list', data.id, next); + }, + function(next) { + db.delete('rewards:id:' + data.id, next); + }, + function(next) { + db.delete('rewards:id:' + data.id + ':rewards', next); + } + ], callback); +}; + rewards.get = function(callback) { async.parallel({ active: getActiveRewards, diff --git a/src/socket.io/admin/rewards.js b/src/socket.io/admin/rewards.js index 36e8b66c2c..b130a25455 100644 --- a/src/socket.io/admin/rewards.js +++ b/src/socket.io/admin/rewards.js @@ -7,5 +7,9 @@ SocketRewards.save = function(socket, data, callback) { rewardsAdmin.save(data, callback); }; +SocketRewards.delete = function(socket, data, callback) { + rewardsAdmin.delete(data, callback); +}; + module.exports = SocketRewards; \ No newline at end of file