jschan - Anonymous imageboard software. Classic look, modern features and feel. Works without JavaScript and supports Tor, I2P, Lokinet, etc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.6 KiB

extends ../layout.pug
include ../mixins/boardheader.pug
include ../mixins/managenav.pug
block head
title /#{board._id}/ - Edit Staff Permissions
block content
+boardheader('Edit Staff Permissions')
br
+managenav('staff', true)
hr(size=1)
h4.mv-5 Edit board permissions for "#{staffUsername}"
|
if permissions.get(Permissions.MANAGE_GLOBAL_ACCOUNTS)
|
a(href=`/globalmanage/editaccount/${staffUsername}.html`) [Edit Account Permissions]
- const jsonPermissions = staffPermissions.toJSON();
.form-wrapper.flexleft
form(action=`/forms/board/${board._id}/editstaff` method='POST')
input(type='hidden' name='_csrf' value=csrf)
input(type='hidden' name='username' value=staffUsername)
//-for perm in Object.keys(jsonPermissions)
for bit, index in Object.keys(jsonPermissions).filter(p => manageBoardBits.includes(parseInt(p)))
if jsonPermissions[bit].title && index > 0
hr(size=1)
h4.mv-5 #{jsonPermissions[bit].title}
if jsonPermissions[bit].subtitle
p #{jsonPermissions[bit].subtitle}
.row
- const parentAllowed = jsonPermissions[bit].parent == null || permissions.get(jsonPermissions[bit].parent);
- const parentLabel = !parentAllowed ? jsonPermissions[jsonPermissions[bit].parent].label : '';
label.postform-style.ph-5(class=(!hasParent ? 'notallowed' : null) title=(!parentAllowed ? `Requires permission "${parentLabel}"` : null))
input(type='checkbox' name=`permission_bit_${bit}` value=bit checked=jsonPermissions[bit].state disabled=(!parentAllowed || jsonPermissions[bit].block))
.rlabel #{jsonPermissions[bit].label}
p #{jsonPermissions[bit].desc}
input(type='submit', value='Save')