don't rely on client side to increment id (duh)

v1.18.x
psychobunny 10 years ago
parent 7a8d84c011
commit def57d2926

@ -128,12 +128,10 @@ define('admin/extend/rewards', function() {
} }
function newReward() { function newReward() {
var ul = $('#active'), var ul = $('#active');
id = $('#active li').last().attr('data-id');
var data = { var data = {
active: [{ active: [{
id: id ? parseInt(id, 10) + 1 : 0,
disabled: true, disabled: true,
value: '', value: '',
claimable: 1 claimable: 1

@ -15,20 +15,24 @@ rewards.save = function(data, callback) {
var rewardsData = data.rewards; var rewardsData = data.rewards;
delete data.rewards; delete data.rewards;
async.parallel([ db.incrObjectField('global', 'nextRid', function(err, id) {
function(next) { data.id = id;
rewards.delete(data, next);
}, async.parallel([
function(next) { function(next) {
db.setAdd('rewards:list', data.id, next); rewards.delete(data, next);
}, },
function(next) { function(next) {
db.setObject('rewards:id:' + data.id, data, next); db.setAdd('rewards:list', data.id, next);
}, },
function(next) { function(next) {
db.setObject('rewards:id:' + data.id + ':rewards', rewardsData, next); db.setObject('rewards:id:' + data.id, data, next);
} },
], next); function(next) {
db.setObject('rewards:id:' + data.id + ':rewards', rewardsData, next);
}
], next);
});
} }
async.each(data, save, function(err) { async.each(data, save, function(err) {

Loading…
Cancel
Save