mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 11:35:55 +01:00
feat(acp): admins-mods privilege
This commit is contained in:
@@ -39,6 +39,7 @@
|
|||||||
"admin-categories": "Categories",
|
"admin-categories": "Categories",
|
||||||
"admin-privileges": "Privileges",
|
"admin-privileges": "Privileges",
|
||||||
"admin-users": "Users",
|
"admin-users": "Users",
|
||||||
|
"admin-admins-mods": "Admins & Mods",
|
||||||
"admin-groups": "Groups",
|
"admin-groups": "Groups",
|
||||||
"admin-settings": "Settings",
|
"admin-settings": "Settings",
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ adminController.routeIndex = async (req, res) => {
|
|||||||
return helpers.redirect(res, 'admin/manage/users');
|
return helpers.redirect(res, 'admin/manage/users');
|
||||||
} else if (privilegeSet['admin:groups']) {
|
} else if (privilegeSet['admin:groups']) {
|
||||||
return helpers.redirect(res, 'admin/manage/groups');
|
return helpers.redirect(res, 'admin/manage/groups');
|
||||||
|
} else if (privilegeSet['admin:admins-mods']) {
|
||||||
|
return helpers.redirect(res, 'admin/manage/admins-mods');
|
||||||
} else if (privilegeSet['admin:settings']) {
|
} else if (privilegeSet['admin:settings']) {
|
||||||
return helpers.redirect(res, 'admin/settings/general');
|
return helpers.redirect(res, 'admin/settings/general');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ middleware.renderHeader = async (req, res, data) => {
|
|||||||
version: version,
|
version: version,
|
||||||
latestVersion: results.latestVersion,
|
latestVersion: results.latestVersion,
|
||||||
upgradeAvailable: results.latestVersion && semver.gt(results.latestVersion, version),
|
upgradeAvailable: results.latestVersion && semver.gt(results.latestVersion, version),
|
||||||
showManageMenu: results.privileges.superadmin || ['categories', 'privileges', 'users', 'groups', 'settings'].some(priv => results.privileges[`admin:${priv}`]),
|
showManageMenu: results.privileges.superadmin || ['categories', 'privileges', 'users', 'admins-mods', 'groups', 'settings'].some(priv => results.privileges[`admin:${priv}`]),
|
||||||
};
|
};
|
||||||
|
|
||||||
templateValues.template = { name: res.locals.template };
|
templateValues.template = { name: res.locals.template };
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ module.exports = function (privileges) {
|
|||||||
{ name: '[[admin/manage/privileges:admin-dashboard]]' },
|
{ name: '[[admin/manage/privileges:admin-dashboard]]' },
|
||||||
{ name: '[[admin/manage/privileges:admin-categories]]' },
|
{ name: '[[admin/manage/privileges:admin-categories]]' },
|
||||||
{ name: '[[admin/manage/privileges:admin-privileges]]' },
|
{ name: '[[admin/manage/privileges:admin-privileges]]' },
|
||||||
|
{ name: '[[admin/manage/privileges:admin-admins-mods]]' },
|
||||||
{ name: '[[admin/manage/privileges:admin-users]]' },
|
{ name: '[[admin/manage/privileges:admin-users]]' },
|
||||||
{ name: '[[admin/manage/privileges:admin-groups]]' },
|
{ name: '[[admin/manage/privileges:admin-groups]]' },
|
||||||
{ name: '[[admin/manage/privileges:admin-settings]]' },
|
{ name: '[[admin/manage/privileges:admin-settings]]' },
|
||||||
@@ -25,6 +26,7 @@ module.exports = function (privileges) {
|
|||||||
'admin:dashboard',
|
'admin:dashboard',
|
||||||
'admin:categories',
|
'admin:categories',
|
||||||
'admin:privileges',
|
'admin:privileges',
|
||||||
|
'admin:admins-mods',
|
||||||
'admin:users',
|
'admin:users',
|
||||||
'admin:groups',
|
'admin:groups',
|
||||||
'admin:settings',
|
'admin:settings',
|
||||||
@@ -37,6 +39,7 @@ module.exports = function (privileges) {
|
|||||||
dashboard: 'admin:dashboard',
|
dashboard: 'admin:dashboard',
|
||||||
'manage/categories': 'admin:categories',
|
'manage/categories': 'admin:categories',
|
||||||
'manage/privileges': 'admin:privileges',
|
'manage/privileges': 'admin:privileges',
|
||||||
|
'manage/admins-mods': 'admin:admins-mods',
|
||||||
'manage/users': 'admin:users',
|
'manage/users': 'admin:users',
|
||||||
'manage/groups': 'admin:groups',
|
'manage/groups': 'admin:groups',
|
||||||
'extend/plugins': 'admin:settings',
|
'extend/plugins': 'admin:settings',
|
||||||
@@ -65,11 +68,14 @@ module.exports = function (privileges) {
|
|||||||
'admin.categories.copySettingsFrom': 'admin:categories',
|
'admin.categories.copySettingsFrom': 'admin:categories',
|
||||||
|
|
||||||
'admin.categories.getPrivilegeSettings': 'admin:privileges',
|
'admin.categories.getPrivilegeSettings': 'admin:privileges',
|
||||||
'admin.categories.setPrivilege': 'admin:privileges',
|
'admin.categories.setPrivilege': 'admin:privileges;admin:admins-mods',
|
||||||
'admin.categories.copyPrivilegesToChildren': 'admin:privileges',
|
'admin.categories.copyPrivilegesToChildren': 'admin:privileges',
|
||||||
'admin.categories.copyPrivilegesFrom': 'admin:privileges',
|
'admin.categories.copyPrivilegesFrom': 'admin:privileges',
|
||||||
'admin.categories.copyPrivilegesToAllCategories': 'admin:privileges',
|
'admin.categories.copyPrivilegesToAllCategories': 'admin:privileges',
|
||||||
|
|
||||||
|
'admin.user.makeAdmins': 'admin:admins-mods',
|
||||||
|
'admin.user.removeAdmins': 'admin:admins-mods',
|
||||||
|
|
||||||
'admin.user.loadGroups': 'admin:users',
|
'admin.user.loadGroups': 'admin:users',
|
||||||
'admin.groups.join': 'admin:users',
|
'admin.groups.join': 'admin:users',
|
||||||
'admin.groups.leave': 'admin:users',
|
'admin.groups.leave': 'admin:users',
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
{{{ if user.privileges.admin:privileges }}}<li><a href="{relative_path}/admin/manage/privileges">[[admin/menu:manage/privileges]]</a></li>{{{ end }}}
|
{{{ if user.privileges.admin:privileges }}}<li><a href="{relative_path}/admin/manage/privileges">[[admin/menu:manage/privileges]]</a></li>{{{ end }}}
|
||||||
{{{ if user.privileges.admin:users }}}<li><a href="{relative_path}/admin/manage/users">[[admin/menu:manage/users]]</a></li>{{{ end }}}
|
{{{ if user.privileges.admin:users }}}<li><a href="{relative_path}/admin/manage/users">[[admin/menu:manage/users]]</a></li>{{{ end }}}
|
||||||
{{{ if user.privileges.admin:groups }}}<li><a href="{relative_path}/admin/manage/groups">[[admin/menu:manage/groups]]</a></li>{{{ end }}}
|
{{{ if user.privileges.admin:groups }}}<li><a href="{relative_path}/admin/manage/groups">[[admin/menu:manage/groups]]</a></li>{{{ end }}}
|
||||||
|
{{{ if user.privileges.admin:admins-mods }}}<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>{{{ end }}}
|
||||||
{{{ if user.privileges.superadmin }}}
|
{{{ if user.privileges.superadmin }}}
|
||||||
<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/manage/registration">[[admin/menu:manage/registration]]</a></li>
|
<li><a href="{relative_path}/admin/manage/registration">[[admin/menu:manage/registration]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/tags">[[admin/menu:manage/tags]]</a></li>
|
<li><a href="{relative_path}/admin/manage/tags">[[admin/menu:manage/tags]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li>
|
<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li>
|
||||||
@@ -190,8 +190,8 @@
|
|||||||
{{{ if user.privileges.admin:privileges }}}<li><a href="{relative_path}/admin/manage/privileges">[[admin/menu:manage/privileges]]</a></li>{{{ end }}}
|
{{{ if user.privileges.admin:privileges }}}<li><a href="{relative_path}/admin/manage/privileges">[[admin/menu:manage/privileges]]</a></li>{{{ end }}}
|
||||||
{{{ if user.privileges.admin:users }}}<li><a id="manage-users" href="{relative_path}/admin/manage/users">[[admin/menu:manage/users]]</a></li>{{{ end }}}
|
{{{ if user.privileges.admin:users }}}<li><a id="manage-users" href="{relative_path}/admin/manage/users">[[admin/menu:manage/users]]</a></li>{{{ end }}}
|
||||||
{{{ if user.privileges.admin:groups }}}<li><a href="{relative_path}/admin/manage/groups">[[admin/menu:manage/groups]]</a></li>{{{ end }}}
|
{{{ if user.privileges.admin:groups }}}<li><a href="{relative_path}/admin/manage/groups">[[admin/menu:manage/groups]]</a></li>{{{ end }}}
|
||||||
|
{{{ if user.privileges.admin:admins-mods }}}<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>{{{ end }}}
|
||||||
{{{ if user.privileges.superadmin }}}
|
{{{ if user.privileges.superadmin }}}
|
||||||
<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/manage/registration">[[admin/menu:manage/registration]]</a></li>
|
<li><a href="{relative_path}/admin/manage/registration">[[admin/menu:manage/registration]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/tags">[[admin/menu:manage/tags]]</a></li>
|
<li><a href="{relative_path}/admin/manage/tags">[[admin/menu:manage/tags]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li>
|
<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li>
|
||||||
|
|||||||
Reference in New Issue
Block a user