successfully got loading and saving of rewards working

v1.18.x
psychobunny 10 years ago
parent e5115c0cf2
commit 5f54de3b37

@ -106,12 +106,14 @@ define('admin/extend/rewards', function() {
function populateInputs() {
$('[data-rid]').each(function(i) {
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]);
if (active[i]) {
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]);
}
}
}
});
@ -121,7 +123,7 @@ define('admin/extend/rewards', function() {
var ul = $('#active'),
li = $('#active li').last().clone(true);
li.attr('data-id', parseInt(li.attr('data-id') + 1, 10))
li.attr('data-id', parseInt(li.attr('data-id'), 10) + 1)
.attr('data-rid', '');
li.find('.inputs').html('');

@ -31,11 +31,24 @@ var defaults = {
};
rewards.save = function(data, callback) {
data.forEach(function(reward) {
if (reward.disabled) {
//db.setAdd
}
});
function save(data, next) {
var rewards = data.rewards;
delete data.rewards;
async.parallel([
function(next) {
db.setAdd('rewards:list', data.id, next);
},
function(next) {
db.setObject('rewards:id:' + data.id, data, next);
},
function(next) {
db.setObject('rewards:id:' + data.id + ':rewards', rewards, next);
}
], next);
}
async.each(data, save, callback);
};
rewards.get = function(callback) {
@ -113,6 +126,31 @@ function getConditions() {
}
function getActiveRewards(callback) {
var activeRewards = [];
function load(id, next) {
async.parallel({
main: function(next) {
db.getObject('rewards:id:' + id, next);
},
rewards: function(next) {
db.getObject('rewards:id:' + id + ':rewards', next);
}
}, function(err, data) {
data.main.rewards = data.rewards;
activeRewards.push(data.main);
next(err);
});
}
db.getSetMembers('rewards:list', function(err, rewards) {
async.eachSeries(rewards, load, function(err) {
callback(err, activeRewards);
});
});
/*
callback(false, [
{
"id": 0,
@ -137,7 +175,7 @@ function getActiveRewards(callback) {
"value": 10,
"disabled": true
}
]);
]);*/
}
module.exports = rewards;

@ -1,13 +1,11 @@
"use strict";
var rewards = require('../../rewards'),
rewards = {};
var rewardsAdmin = require('../../rewards/admin'),
SocketRewards = {};
rewards.save = function(socket, data, callback) {
console.log(data);
callback(new Error('derp'));
//callback(err ? err.message : null);
SocketRewards.save = function(socket, data, callback) {
rewardsAdmin.save(data, callback);
};
module.exports = rewards;
module.exports = SocketRewards;
Loading…
Cancel
Save