add more options on the global manage boards list close #245

merge-requests/208/head
Thomas Lynch 4 years ago
parent e36be21056
commit 6657f50e4d
  1. 29
      db/boards.js
  2. 3
      models/pages/globalmanage/boards.js
  3. 12
      views/pages/globalmanageboardlist.pug

@ -148,7 +148,7 @@ module.exports = {
return listedBoards;
},
boardSort: (skip=0, limit=50, sort={ ips:-1, pph:-1, sequence_value:-1 }, filter={}, showUnlisted=false) => {
boardSort: (skip=0, limit=50, sort={ ips:-1, pph:-1, sequence_value:-1 }, filter={}, showSensitive=false) => {
const addedFilter = {};
const projection = {
'_id': 1,
@ -162,9 +162,19 @@ module.exports = {
'settings.tags': 1,
'settings.unlistedLocal': 1,
};
if (!showUnlisted) {
if (!showSensitive) {
addedFilter['settings.unlistedLocal'] = false;
} else {
if (filter.filter_sfw) {
addedFilter['settings.sfw'] = true;
}
if (filter.filter_unlisted) {
addedFilter['settings.unlistedLocal'] = true;
}
if (filter.filter_abandoned) {
addedFilter['owner'] = null;
addedFilter['settings.moderators'] = [];
}
projection['settings.moderators'] = 1;
projection['owner'] = 1;
}
@ -199,10 +209,21 @@ module.exports = {
}).toArray();
},
count: (filter, showUnlisted=false) => {
count: (filter, showSensitive=false) => {
const addedFilter = {};
if (!showUnlisted) {
if (!showSensitive) {
addedFilter['settings.unlistedLocal'] = false;
} else {
if (filter.filter_sfw) {
addedFilter['settings.sfw'] = true;
}
if (filter.filter_unlisted) {
addedFilter['settings.unlistedLocal'] = true;
}
if (filter.filter_abandoned) {
addedFilter['owner'] = null;
addedFilter['settings.moderators'] = [];
}
}
if (filter.search) {
addedFilter['$or'] = [

@ -30,6 +30,9 @@ module.exports = async (req, res, next) => {
'search': search
}
}
filter.filter_sfw = req.query.filter_sfw != null;
filter.filter_abandoned = req.query.filter_abandoned != null;
filter.filter_unlisted = req.query.filter_unlisted != null;
let localBoards, pages, maxPage;
try {

@ -27,6 +27,18 @@ block content
select(name='direction')
option(value='desc') Descending
option(value='asc' selected=query.direction === 'asc') Ascending
.row
.label Unlisted
label.postform-style.ph-5
input(type='checkbox', name='filter_unlisted', value='1' checked=(query.filter_unlisted != null))
.row
.label SFW
label.postform-style.ph-5
input(type='checkbox', name='filter_sfw', value='1' checked=(query.filter_sfw != null))
.row
.label Abandoned
label.postform-style.ph-5
input(type='checkbox', name='filter_abandoned', value='1' checked=(query.filter_abandoned != null))
input(type='submit', value='Filter')
if localBoards && localBoards.length > 0
h4.text-center.mv-10 Board List:

Loading…
Cancel
Save