mirror of https://gitgud.io/fatchan/jschan.git
parent
92f8e993d9
commit
82bc97ea3f
8 changed files with 104 additions and 24 deletions
@ -0,0 +1,28 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
const uuidv4 = require('uuid/v4') |
||||||
|
, path = require('path') |
||||||
|
, util = require('util') |
||||||
|
, fs = require('fs') |
||||||
|
, unlink = util.promisify(fs.unlink) |
||||||
|
, uploadDirectory = require(__dirname+'/../../helpers/uploadDirectory.js') |
||||||
|
, Boards = require(__dirname+'/../../db/boards.js'); |
||||||
|
|
||||||
|
module.exports = async (req, res, next) => { |
||||||
|
|
||||||
|
const redirect = `/${req.params.board}/manage` |
||||||
|
|
||||||
|
await Promise.all(req.body.checkedbanners.map(async filename => { |
||||||
|
unlink(uploadDirectory + filename); |
||||||
|
})); |
||||||
|
|
||||||
|
// i dont think there is a way to get the number of array items removed with $pullAll
|
||||||
|
// so i cant return how many banners were deleted
|
||||||
|
await Boards.removeBanners(req.params.board, req.body.checkedbanners); |
||||||
|
|
||||||
|
return res.render('message', { |
||||||
|
'title': 'Success', |
||||||
|
'message': `Deleted banners.`, |
||||||
|
'redirect': redirect |
||||||
|
}); |
||||||
|
} |
@ -1,14 +1,20 @@ |
|||||||
section.form-wrapper |
section.form-wrapper |
||||||
label.toggle-label Upload Banners |
label.toggle-label Add Banners |
||||||
input.toggle(type='checkbox') |
input.toggle(type='checkbox') |
||||||
form.form-post.togglable(action=`/forms/board/${board._id}/addbanners`, enctype='multipart/form-data', method='POST') |
form.form-post.togglable(action=`/forms/board/${board._id}/addbanners`, enctype='multipart/form-data', method='POST') |
||||||
|
|
||||||
input(type='hidden' name='_csrf' value=csrf) |
input(type='hidden' name='_csrf' value=csrf) |
||||||
|
|
||||||
span |
span |
||||||
input#file(type='file', name='file' multiple) |
input#file(type='file', name='file' multiple) |
||||||
|
|
||||||
input(type='submit', value='submit') |
input(type='submit', value='submit') |
||||||
|
|
||||||
|
section.form-wrapper |
||||||
|
label.toggle-label Delete Banners |
||||||
|
input.toggle(type='checkbox') |
||||||
|
form.form-post.togglable(action=`/forms/board/${board._id}/deletebanners`, enctype='application/x-www-form-urlencoded', method='POST') |
||||||
|
input(type='hidden' name='_csrf' value=csrf) |
||||||
|
each banner in board.banners |
||||||
|
label.banner-check |
||||||
|
input(type='checkbox' name='checkedbanners[]' value=banner) |
||||||
|
object.board-banner(data=`/img/${banner}` width='300' height='100') |
||||||
|
input(type='submit', value='submit') |
||||||
|
|
||||||
|
Loading…
Reference in new issue