option for disabling reply subject, even when not forceanon

merge-requests/208/head
fatchan 5 years ago
parent b210f0f77f
commit 41912d8e26
  1. 1
      configs/main.js.example
  2. 11
      models/forms/changeboardsettings.js
  3. 4
      models/forms/makepost.js
  4. 29
      views/includes/postform.pug
  5. 7
      views/includes/subjectfield.pug
  6. 4
      views/pages/managesettings.pug

@ -171,6 +171,7 @@ module.exports = {
forceThreadMessage: false,
forceThreadFile: false,
forceThreadSubject: false,
disableReplySubject: false,
minThreadMessageLength: 0,
minReplyMessageLength: 0,
defaultName: 'Anon',

@ -88,6 +88,7 @@ module.exports = async (req, res, next) => {
'forceReplyMessage': booleanSetting(req.body.force_reply_message),
'forceReplyFile': booleanSetting(req.body.force_reply_file),
'forceThreadSubject': booleanSetting(req.body.force_thread_subject),
'disableReplySubject': booleanSetting(req.body.disable_reply_subject),
'captchaMode': numberSetting(req.body.captcha_mode, oldSettings.captchaMode),
'tphTrigger': numberSetting(req.body.tph_trigger, oldSettings.tphTrigger),
'pphTrigger': numberSetting(req.body.pph_trigger, oldSettings.pphTrigger),
@ -132,16 +133,6 @@ module.exports = async (req, res, next) => {
, rebuildCatalog = false
, rebuildOther = false;
//name, description, sfw, unlisted, tags changed need webring update
if ((oldSettings.webring && newSettings.webring)
&& (oldSettings.name != newSettings.name
|| oldSettings.description != newSettings.description
|| oldSettings.unlisted != newSettings.unlisted
|| oldSettings.sfw != newSettings.sfw
|| oldSettings.tags != newSettings.tags)) {
cache.set('webring_update', 1);
}
if (newSettings.captchaMode > oldSettings.captchaMode) {
if (oldSettings.captchaMode === 0) {
rebuildBoard = true;

@ -49,7 +49,7 @@ module.exports = async (req, res, next) => {
let salt = null;
let thread = null;
const { filters, filterBanDuration, filterMode,
maxFiles, forceAnon, replyLimit,
maxFiles, forceAnon, replyLimit, disableReplySubject,
threadLimit, ids, userPostSpoiler,
defaultName, pphTrigger, tphTrigger, triggerAction,
captchaMode, locked, allowedFileTypes, flags } = res.locals.board.settings;
@ -294,7 +294,7 @@ module.exports = async (req, res, next) => {
//forceanon hide reply subjects so cant be used as name for replies
//forceanon only allow sage email
let subject = (res.locals.permLevel < 4 || !forceAnon || !req.body.thread) ? req.body.subject : null;
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;
//spoiler files only if board settings allow

@ -7,33 +7,22 @@ section.form-wrapper.flex-center
input(type='hidden' name='thread' value=isThread ? thread.postId : null)
section.row.jsonly
.noselect#dragHandle
unless board.settings.forceAnon
if board.settings.forceAnon
section.row
.label Sage
label.postform-style.ph-5
input(type='checkbox', name='email', value='sage')
a.close.postform-style(href='#!') X
include ./subjectfield.pug
else
section.row
.label Name
input.mr-1(type='text', name='name', placeholder=board.settings.defaultName autocomplete='off' maxlength='50')
a.close.postform-style(href='#!') X
section.row
.label
span Subject
if subjectRequired
span.required *
input(type='text', name='subject', autocomplete='off' maxlength='50' required=subjectRequired)
section.row
.label Email
input(type='text', name='email', autocomplete='off' maxlength='50')
else
section.row
.label Sage
label.postform-style.ph-5
input(type='checkbox', name='email', value='sage')
| Sage
a.close.postform-style(href='#!') X
section.row
.label
span Subject
if subjectRequired
span.required *
input(type='text', name='subject', autocomplete='off' maxlength='50' required=subjectRequired)
include ./subjectfield.pug
section.row
.label
span Message

@ -0,0 +1,7 @@
if !isThread || (!board.settings.disableReplySubject && !board.settings.forceAnon)
section.row
.label
span Subject
if subjectRequired
span.required *
input(type='text', name='subject', autocomplete='off' maxlength='50' required=subjectRequired)

@ -121,6 +121,10 @@ block content
.label Force Reply File
label.postform-style.ph-5
input(type='checkbox', name='force_reply_file', value='true' checked=board.settings.forceReplyFile)
.row
.label Disable Reply Subject
label.postform-style.ph-5
input(type='checkbox', name='disable_reply_subject', value='true' checked=board.settings.disableReplySubject)
.row
.label Min Thread Message Length
input(type='number' name='min_thread_message_length' value=board.settings.minThreadMessageLength max=globalLimits.messageLength.max)

Loading…
Cancel
Save