Saving flag filters into session object

Closes #6533
v1.18.x
Julian Lam 7 years ago
parent 4f893d2aff
commit 4e7fdf3e12

@ -18,6 +18,11 @@ modsController.flags.list = function (req, res, next) {
var hasFilter;
var validFilters = ['assignee', 'state', 'reporterId', 'type', 'targetUid', 'cid', 'quick', 'page', 'perPage'];
// Reset filters if explicitly requested
if (parseInt(req.query.reset, 10) === 1) {
delete req.session.flags_filters;
}
async.waterfall([
function (next) {
async.parallel({
@ -49,6 +54,12 @@ modsController.flags.list = function (req, res, next) {
}, {});
hasFilter = !!Object.keys(filters).length;
if (!hasFilter && req.session.hasOwnProperty('flags_filters')) {
// Load filters from session object
filters = req.session.flags_filters;
hasFilter = true;
}
if (res.locals.cids) {
if (!filters.cid) {
// If mod and no cid filter, add filter for their modded categories
@ -69,6 +80,9 @@ modsController.flags.list = function (req, res, next) {
hasFilter = false;
}
// Save filters into session unless removed
req.session.flags_filters = filters;
async.parallel({
flags: async.apply(flags.list, filters, req.uid),
analytics: async.apply(analytics.getDailyStatsForSet, 'analytics:flags', Date.now(), 30),

Loading…
Cancel
Save