From f5eaa083402ec8482a79cd365a869ed8996cdc0c Mon Sep 17 00:00:00 2001 From: psychobunny Date: Fri, 20 Feb 2015 19:29:57 -0500 Subject: [PATCH] fixed complications with deleted id's --- public/src/admin/extend/rewards.js | 4 +++- src/rewards/admin.js | 26 ++++++++++++++++++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/public/src/admin/extend/rewards.js b/public/src/admin/extend/rewards.js index 50d7503f5a..7fc023eda5 100644 --- a/public/src/admin/extend/rewards.js +++ b/public/src/admin/extend/rewards.js @@ -134,7 +134,9 @@ define('admin/extend/rewards', function() { active: [{ disabled: true, value: '', - claimable: 1 + claimable: 1, + rid: null, + id: null }], conditions: conditions, conditionals: conditionals, diff --git a/src/rewards/admin.js b/src/rewards/admin.js index 796127b5f3..6136e4f4b3 100644 --- a/src/rewards/admin.js +++ b/src/rewards/admin.js @@ -8,14 +8,11 @@ var rewards = {}, rewards.save = function(data, callback) { function save(data, next) { - if (!Object.keys(data.rewards).length) { - return next(); - } - - var rewardsData = data.rewards; - delete data.rewards; + function commit(err, id) { + if (err) { + return callback(err); + } - db.incrObjectField('global', 'nextRid', function(err, id) { data.id = id; async.parallel([ @@ -32,7 +29,20 @@ rewards.save = function(data, callback) { db.setObject('rewards:id:' + data.id + ':rewards', rewardsData, next); } ], next); - }); + } + + if (!Object.keys(data.rewards).length) { + return next(); + } + + var rewardsData = data.rewards; + delete data.rewards; + + if (!parseInt(data.id, 10)) { + db.incrObjectField('global', 'rewards:id', commit); + } else { + commit(false, data.id); + } } async.each(data, save, function(err) {