add required fields in html forms and add * to labels according to board settings for required OP subject, message or file.

merge-requests/208/head
fatchan 5 years ago
parent 3a03351a80
commit 2c6ee4d9ee
  1. 9
      gulp/res/css/style.css
  2. 2
      helpers/files/deletetempfiles.js
  3. 3
      models/pages/captcha.js
  4. 6
      views/includes/actionfooter.pug
  5. 4
      views/includes/catalogheader.pug
  6. 36
      views/includes/postform.pug
  7. 2
      views/pages/catalog.pug
  8. 15
      views/pages/changepassword.pug
  9. 6
      views/pages/login.pug
  10. 3
      views/pages/manage.pug
  11. 12
      views/pages/register.pug

@ -174,11 +174,15 @@ object {
border-style: solid none; border-style: solid none;
} }
.title { .title, .required {
color: maroon; color: maroon;
font-weight: bold; font-weight: bold;
} }
.required {
margin-left: 5px;
}
.pinktext { .pinktext {
color: #E0727F; color: #E0727F;
} }
@ -546,8 +550,7 @@ input[type="file"] {
min-width: 80px; min-width: 80px;
background: #98E; background: #98E;
display: flex; display: flex;
justify-content: center; align-items: center;
flex-direction: column;
font-weight: bold; font-weight: bold;
margin-right: 1px; margin-right: 1px;
} }

@ -2,7 +2,7 @@
const remove = require('fs-extra').remove; const remove = require('fs-extra').remove;
module.exports = async (req) => { module.exports = (req) => {
if (req.files != null) { if (req.files != null) {
let files = []; let files = [];

@ -21,7 +21,8 @@ module.exports = async (req, res, next) => {
.cookie('captchaid', captchaId.toString(), { .cookie('captchaid', captchaId.toString(), {
'maxAge': 5*60*1000, //5 minute cookie 'maxAge': 5*60*1000, //5 minute cookie
'httpOnly': true, 'httpOnly': true,
'secure': true 'secure': true,
'sameSite': 'lax'
}) })
.redirect(`/captcha/${captchaId}.jpg`); .redirect(`/captcha/${captchaId}.jpg`);

@ -24,8 +24,8 @@ details.toggle-label
| Global Report | Global Report
label label
input#report(type='text', name='report_reason', placeholder='report reason' autocomplete='off') input#report(type='text', name='report_reason', placeholder='report reason' autocomplete='off')
.actions details.actions
h4.no-m-p Staff Actions: summary(style='font-weight: bold') Staff Actions:
label label
input.post-check(type='checkbox', name='delete_ip_board' value=1) input.post-check(type='checkbox', name='delete_ip_board' value=1)
| Delete from IP on board | Delete from IP on board
@ -58,5 +58,5 @@ details.toggle-label
.actions .actions
h4.no-m-p Captcha: h4.no-m-p Captcha:
iframe.captcha(src='/captcha.html' width=200 height=110 scrolling='no') iframe.captcha(src='/captcha.html' width=200 height=110 scrolling='no')
input#captcha(type='text', name='captcha', autocomplete='off' placeholder='captcha text' maxlength='6') input#captcha(type='text', name='captcha', autocomplete='off' placeholder='captcha text' maxlength='6' required)
input(type='submit', value='submit') input(type='submit', value='submit')

@ -0,0 +1,4 @@
section.board-header
img.board-banner(src=`/banners?board=${board._id}` width='300' height='100')
br
h1.board-title Catalog (#[a.no-decoration(href=`/${board._id}/index.html`) /#{board._id}/])

@ -1,48 +1,58 @@
- const isThread = thread != null
section.form-wrapper.flex-center section.form-wrapper.flex-center
a.toggle-summary(href='#postform') Show Post Form a.toggle-summary(href='#postform') Show Post Form
form.form-post#postform(action=`/forms/board/${board._id}/post`, enctype='multipart/form-data', method='POST') form.form-post#postform(action=`/forms/board/${board._id}/post`, enctype='multipart/form-data', method='POST')
input(type='hidden' name='thread' value=thread != null ? thread.postId : null) input(type='hidden' name='thread' value=isThread ? thread.postId : null)
unless board.settings.forceAnon unless board.settings.forceAnon
section.postform-row section.postform-row
.postform-label Name .postform-label Name
input#name(type='text', name='name', placeholder=board.settings.defaultName autocomplete='off' maxlength='50') input(type='text', name='name', placeholder=board.settings.defaultName autocomplete='off' maxlength='50')
a.close.postform-style.ml-1(href='#!') X a.close.postform-style.ml-1(href='#!') X
section.postform-row section.postform-row
.postform-label Subject .postform-label Subject
input#title(type='text', name='subject', autocomplete='off' maxlength='50') if !isThread && board.settings.forceOPSubject
.required *
input(type='text', name='subject', autocomplete='off' maxlength='50' required=!isThread && board.settings.forceOPSubject)
section.postform-row section.postform-row
.postform-label Email .postform-label Email
input#name(type='text', name='email', autocomplete='off' maxlength='50') input(type='text', name='email', autocomplete='off' maxlength='50')
else else
section.postform-row section.postform-row
.postform-label Sage .postform-label Sage
label.postform-style.ph-5 label.postform-style.ph-5
input#spoiler(type='checkbox', name='email', value='sage') input(type='checkbox', name='email', value='sage')
| Sage | Sage
a.close.postform-style.ml-1(href='#!') X a.close.postform-style.ml-1(href='#!') X
if !thread if !isThread
section.postform-row section.postform-row
.postform-label Subject .postform-label Subject
input#title(type='text', name='subject', autocomplete='off' maxlength='50') if board.settings.forceOPSubject
.required *
input(type='text', name='subject', autocomplete='off' maxlength='50' required=board.settings.forceOPSubject)
section.postform-row section.postform-row
.postform-label Message .postform-label Message
textarea#message(name='message', rows='5', autocomplete='off' maxlength='4000') if !isThread && board.settings.forceOPMessage
.required *
textarea(name='message', rows='5', autocomplete='off' maxlength='4000' required=!isThread && board.settings.forceOPMessage)
if board.settings.maxFiles !== 0 if board.settings.maxFiles !== 0
section.postform-row section.postform-row
.postform-label Files .postform-label Files
input#file(type='file', name='file' multiple) if !isThread && board.settings.forceOPFile
.required *
input(type='file', name='file' multiple required=!isThread && board.settings.forceOPFile)
if board.settings.userPostSpoiler if board.settings.userPostSpoiler
label.postform-style.ph-5.ml-1 label.postform-style.ph-5.ml-1
input#spoiler(type='checkbox', name='spoiler', value='true') input(type='checkbox', name='spoiler', value='true')
| Spoiler | Spoiler
if board.settings.userPostSpoiler || board.settings.userPostDelete || board.settings.userPostUnlink if board.settings.userPostSpoiler || board.settings.userPostDelete || board.settings.userPostUnlink
section.postform-row section.postform-row
.postform-label Password .postform-label Password
input#password(type='password', name='password', autocomplete='off' placeholder='password to delete/spoiler/unlink later' maxlength='50') input(type='password', name='password', autocomplete='off' placeholder='password to delete/spoiler/unlink later' maxlength='50')
if board.settings.captcha if board.settings.captcha
section.postform-row section.postform-row
.postform-label Captcha .postform-label Captcha
.required *
.postform-col .postform-col
iframe.captcha(src='/captcha.html' width=200 height=110 scrolling='no') iframe.captcha(src='/captcha.html' width=200 height=110 scrolling='no')
input#captcha(type='text', name='captcha', autocomplete='off' placeholder='captcha text' maxlength='6') input(type='text', name='captcha', autocomplete='off' placeholder='captcha text' maxlength='6' required)
input(type='submit', value=`New ${threads ? 'Thread' : 'Reply'}`) input(type='submit', value=`New ${isThread ? 'Reply' : 'Thread'}`)

@ -5,7 +5,7 @@ block head
title /#{board._id}/ - Catalog title /#{board._id}/ - Catalog
block content block content
include ../includes/boardheader.pug include ../includes/catalogheader.pug
br br
include ../includes/postform.pug include ../includes/postform.pug
br br

@ -9,19 +9,24 @@ block content
//input(type='hidden' name='_csrf' value=csrf) //input(type='hidden' name='_csrf' value=csrf)
section.postform-row section.postform-row
.postform-label Username .postform-label Username
input#username(type='text', name='username', maxlength='50') .required *
input#username(type='text', name='username', maxlength='50' required)
section.postform-row section.postform-row
.postform-label Existing Password .postform-label Existing Password
input#password(type='password', name='password', maxlength='100') .required *
input#password(type='password', name='password', maxlength='100' required)
section.postform-row section.postform-row
.postform-label New Password .postform-label New Password
input#password(type='password', name='newpassword', maxlength='100') .required *
input#password(type='password', name='newpassword', maxlength='100' required)
section.postform-row section.postform-row
.postform-label Confirm New Password .postform-label Confirm New Password
input#password(type='password', name='newpasswordconfirm', maxlength='100') .required *
input#password(type='password', name='newpasswordconfirm', maxlength='100' required)
section.postform-row section.postform-row
.postform-label Captcha .postform-label Captcha
.required *
span.postform-col span.postform-col
iframe.captcha(src='/captcha.html' width=200 height=110 scrolling='no') iframe.captcha(src='/captcha.html' width=200 height=110 scrolling='no')
input#captcha(type='text', name='captcha', autocomplete='off' placeholder='captcha text' maxlength='6') input#captcha(type='text', name='captcha', autocomplete='off' placeholder='captcha text' maxlength='6' required)
input(type='submit', value='Change Password') input(type='submit', value='Change Password')

@ -9,10 +9,12 @@ block content
//input(type='hidden' name='_csrf' value=csrf) //input(type='hidden' name='_csrf' value=csrf)
section.postform-row section.postform-row
.postform-label Username .postform-label Username
input#username(type='text', name='username', maxlength='50') .required *
input#username(type='text', name='username', maxlength='50' required)
section.postform-row section.postform-row
.postform-label Password .postform-label Password
input#password(type='password', name='password', maxlength='100') .required *
input#password(type='password', name='password', maxlength='100' required)
input(type='submit', value='submit') input(type='submit', value='submit')
p No account? #[a(href='/register.html') Register] p No account? #[a(href='/register.html') Register]

@ -71,7 +71,8 @@ block content
input(type='hidden' name='_csrf' value=csrf) input(type='hidden' name='_csrf' value=csrf)
section.postform-row section.postform-row
.postform-label Upload .postform-label Upload
input#file(type='file', name='file' multiple) .required *
input#file(type='file', name='file' multiple required)
input(type='submit', value='submit') input(type='submit', value='submit')
hr(size=1) hr(size=1)
if board.banners.length > 0 if board.banners.length > 0

@ -9,17 +9,21 @@ block content
//input(type='hidden' name='_csrf' value=csrf) //input(type='hidden' name='_csrf' value=csrf)
section.postform-row section.postform-row
.postform-label Username .postform-label Username
input#username(type='text', name='username', maxlength='50') .required *
input#username(type='text', name='username', maxlength='50' required)
section.postform-row section.postform-row
.postform-label Password .postform-label Password
input#password(type='password', name='password', maxlength='100') .required *
input#password(type='password', name='password', maxlength='100' required)
section.postform-row section.postform-row
.postform-label Confirm Password .postform-label Confirm Password
input#password(type='password', name='passwordconfirm', maxlength='100') .required *
input#password(type='password', name='passwordconfirm', maxlength='100' required)
section.postform-row section.postform-row
.postform-label Captcha .postform-label Captcha
.required *
span.postform-col span.postform-col
iframe.captcha(src='/captcha.html' width=200 height=110 scrolling='no') iframe.captcha(src='/captcha.html' width=200 height=110 scrolling='no')
input#captcha(type='text', name='captcha', autocomplete='off' placeholder='captcha text' maxlength='6') input#captcha(type='text', name='captcha', autocomplete='off' placeholder='captcha text' maxlength='6' required)
input(type='submit', value='Register') input(type='submit', value='Register')
p Already have an account? #[a(href='/login.html') Login] p Already have an account? #[a(href='/login.html') Login]

Loading…
Cancel
Save