v1.18.x
Baris Usakli 6 years ago
parent f614a44daf
commit 0c1ac4d6a2

@ -23,6 +23,7 @@
@import "./extend/rewards";
@import "./extend/widgets";
@import "./advanced/database";
@import "./advanced/events";
@import "./advanced/logs";
@import "./advanced/errors";
@import "./advanced/hooks";

@ -0,0 +1,6 @@
.delete-event {
i {
cursor: pointer;
margin-left: 10px;
}
}

@ -14,6 +14,17 @@ define('admin/advanced/events', function () {
});
});
$('.delete-event').on('click', function () {
var parentEl = $(this).parents('[data-eid]');
var eid = parentEl.attr('data-eid');
socket.emit('admin.deleteEvents', [eid], function (err) {
if (err) {
return app.alertError(err.message);
}
parentEl.remove();
});
})
$('#filter').on('change', function () {
var filter = $(this).val();
ajaxify.go('admin/advanced/events' + (filter ? '?filter=' + filter : ''));

@ -158,9 +158,7 @@ events.deleteEvents = function (eids, callback) {
var keys;
async.waterfall([
function (next) {
keys = eids.map(function (eid) {
return 'event:' + eid;
});
keys = eids.map(eid => 'event:' + eid);
db.getObjectsFields(keys, ['type'], next);
},
function (eventData, next) {

@ -333,6 +333,10 @@ SocketAdmin.errors.clear = function (socket, data, callback) {
meta.errors.clear(callback);
};
SocketAdmin.deleteEvents = function (socket, eids, callback) {
events.deleteEvents(eids, callback);
};
SocketAdmin.deleteAllEvents = function (socket, data, callback) {
events.deleteAll(callback);
};

@ -13,7 +13,7 @@
<!-- ENDIF !events.length -->
<div class="events-list">
<!-- BEGIN events -->
<div>
<div data-eid="{events.eid}">
<span>#{events.eid} </span><span class="label label-info">{events.type}</span>
<a href="{config.relative_path}/user/{events.user.userslug}" target="_blank">
<!-- IF events.user.picture -->
@ -23,6 +23,7 @@
<!-- ENDIF events.user.picture -->
</a>
<a href="{config.relative_path}/user/{events.user.userslug}" target="_blank">{events.user.username}</a> (uid {events.uid}) (IP {events.ip})
<span class="pull-right delete-event"><i class="fa fa-trash-o"></i></span>
<span class="pull-right">{events.timestampISO}</span>
<br /><br />
<pre>{events.jsonString}</pre>

@ -580,6 +580,20 @@ describe('socket.io', function () {
});
});
it('should delete a single event', function (done) {
db.getSortedSetRevRange('events:time', 0, 0, function (err, eids) {
assert.ifError(err);
socketAdmin.deleteEvents({ uid: adminUid }, eids, function (err) {
assert.ifError(err);
db.isSortedSetMembers('events:time', eids, function (err, isMembers) {
assert.ifError(err);
assert(!isMembers.includes(true));
done();
});
});
});
});
it('should delete all events', function (done) {
socketAdmin.deleteAllEvents({ uid: adminUid }, {}, function (err) {
assert.ifError(err);

Loading…
Cancel
Save