fix: #9827, fix reward duplication

isekai-main
Barış Soner Uşaklı 4 years ago
parent 1a61ffc595
commit 89af00d1d5

@ -167,11 +167,17 @@ define('admin/extend/rewards', [], function () {
activeRewards.push(data); activeRewards.push(data);
}); });
socket.emit('admin.rewards.save', activeRewards, function (err) { socket.emit('admin.rewards.save', activeRewards, function (err, result) {
if (err) { if (err) {
app.alertError(err.message); app.alertError(err.message);
} else { } else {
app.alertSuccess('[[admin/extend/rewards:alert.save-success]]'); app.alertSuccess('[[admin/extend/rewards:alert.save-success]]');
// newly added rewards are missing data-id, update to prevent rewards getting duplicated
$('#active li').each(function (index) {
if (!$(this).attr('data-id')) {
$(this).attr('data-id', result[index].id);
}
});
} }
}); });
} }

@ -24,6 +24,7 @@ rewards.save = async function (data) {
await Promise.all(data.map(data => save(data))); await Promise.all(data.map(data => save(data)));
await saveConditions(data); await saveConditions(data);
return data;
}; };
rewards.delete = async function (data) { rewards.delete = async function (data) {

@ -5,7 +5,7 @@ const rewardsAdmin = require('../../rewards/admin');
const SocketRewards = module.exports; const SocketRewards = module.exports;
SocketRewards.save = async function (socket, data) { SocketRewards.save = async function (socket, data) {
await rewardsAdmin.save(data); return await rewardsAdmin.save(data);
}; };
SocketRewards.delete = async function (socket, data) { SocketRewards.delete = async function (socket, data) {

Loading…
Cancel
Save