Sage only email without force anon reference #130

merge-requests/208/head
fatchan 4 years ago
parent a46a3a5c23
commit f4ca3563d5
  1. 1
      configs/main.js.example
  2. 1
      migrations/index.js
  3. 12
      migrations/migration-0.0.7.js
  4. 1
      models/forms/changeboardsettings.js
  5. 6
      models/forms/makepost.js
  6. 2
      package.json
  7. 12
      views/includes/postform.pug
  8. 4
      views/pages/managesettings.pug

@ -247,6 +247,7 @@ module.exports = {
pphTrigger: 0, //number of posts in an hour before ^
triggerAction: 0, //0=nothing, 1=captcha enable for threads, 2=captcha enable for all posts, 3=lock board
forceAnon: false, //disable name and subject, only allow sage email
sageOnlyEmail: false, //only allow sage email
early404: true, //delete threads beyond the first 1/3 of pages with less than 5 replies
ids: false, //show per thread poster ID based on ip
flags: false, //show geo flags, requires nginx setup

@ -7,4 +7,5 @@ module.exports = {
'0.0.4': require(__dirname+'/migration-0.0.4.js'), //rename some fields for board lock mode and unlisting
'0.0.5': require(__dirname+'/migration-0.0.5.js'), //add bumplimit to board settings
'0.0.6': require(__dirname+'/migration-0.0.6.js'), //add blocked countries to board settings
'0.0.7': require(__dirname+'/migration-0.0.7.js'), //sage only email without force anon for some reason
}

@ -0,0 +1,12 @@
'use strict';
module.exports = async(db, redis) => {
console.log('add sageOnlyEmail option to boards');
await db.collection('boards').updateMany({}, {
'$set': {
'settings.sageOnlyEmail': false,
}
});
console.log('Cleared boards cache');
await redis.deletePattern('board:*');
};

@ -82,6 +82,7 @@ module.exports = async (req, res, next) => {
'ids': booleanSetting(req.body.ids),
'flags': booleanSetting(req.body.flags),
'forceAnon': booleanSetting(req.body.force_anon),
'sageOnlyEmail': booleanSetting(req.body.sage_only_email),
'userPostDelete': booleanSetting(req.body.user_post_delete),
'userPostSpoiler': booleanSetting(req.body.user_post_spoiler),
'userPostUnlink': booleanSetting(req.body.user_post_unlink),

@ -45,7 +45,7 @@ module.exports = async (req, res, next) => {
let salt = null;
let thread = null;
const { filterBanDuration, filterMode, filters, blockedCountries,
maxFiles, forceAnon, replyLimit, disableReplySubject,
maxFiles, sageOnlyEmail, forceAnon, replyLimit, disableReplySubject,
threadLimit, ids, userPostSpoiler, pphTrigger, tphTrigger, triggerAction,
captchaMode, lockMode, allowedFileTypes, flags } = res.locals.board.settings;
if (flags === true
@ -322,9 +322,9 @@ module.exports = async (req, res, next) => {
const spoiler = userPostSpoiler && req.body.spoiler ? true : false;
//forceanon hide reply subjects so cant be used as name for replies
//forceanon only allow sage email
//forceanon and sageonlyemail only allow sage email
let subject = (res.locals.permLevel >= 4 && req.body.thread && (disableReplySubject || forceAnon)) ? null : req.body.subject;
let email = (res.locals.permLevel < 4 || !forceAnon || req.body.email === 'sage') ? req.body.email : null;
let email = (res.locals.permLevel < 4 || (!forceAnon && !sageOnlyEmail) || req.body.email === 'sage') ? req.body.email : null;
//get name, trip and cap
const { name, tripcode, capcode } = await nameHandler(req.body.name, res.locals.permLevel, res.locals.board.settings);

@ -1,7 +1,7 @@
{
"name": "jschan",
"version": "0.0.1",
"migrateVersion": "0.0.6",
"migrateVersion": "0.0.7",
"description": "",
"main": "server.js",
"dependencies": {

@ -21,9 +21,15 @@ section.form-wrapper.flex-center
.label Name
input.mr-1(type='text', name='name', placeholder=board.settings.defaultName maxlength=globalLimits.fieldLength.name)
a.close.postform-style(href='#!') X
section.row
.label Email
input(type='text', name='email', autocomplete='off' maxlength=globalLimits.fieldLength.email)
if board.settings.sageOnlyEmail
section.row
.label Sage
label.postform-style.ph-5
input(type='checkbox', name='email', value='sage')
else
section.row
.label Email
input(type='text', name='email', autocomplete='off' maxlength=globalLimits.fieldLength.email)
include ./subjectfield.pug
section.row
.label

@ -97,6 +97,10 @@ block content
.label Force Anon
label.postform-style.ph-5
input(type='checkbox', name='force_anon', value='true' checked=board.settings.forceAnon)
.row
.label Sage Only Email
label.postform-style.ph-5
input(type='checkbox', name='sage_only_email', value='true' checked=board.settings.sageOnlyEmail)
.col.mr-5
.row
.label Force Thread Subject

Loading…
Cancel
Save