mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	feat(acp): admins-mods privilege
This commit is contained in:
		| @@ -39,6 +39,7 @@ | ||||
| 	"admin-categories": "Categories", | ||||
| 	"admin-privileges": "Privileges", | ||||
| 	"admin-users": "Users", | ||||
| 	"admin-admins-mods": "Admins & Mods", | ||||
| 	"admin-groups": "Groups", | ||||
| 	"admin-settings": "Settings", | ||||
|  | ||||
|   | ||||
| @@ -44,6 +44,8 @@ adminController.routeIndex = async (req, res) => { | ||||
| 		return helpers.redirect(res, 'admin/manage/users'); | ||||
| 	} else if (privilegeSet['admin: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']) { | ||||
| 		return helpers.redirect(res, 'admin/settings/general'); | ||||
| 	} | ||||
|   | ||||
| @@ -73,7 +73,7 @@ middleware.renderHeader = async (req, res, data) => { | ||||
| 		version: version, | ||||
| 		latestVersion: results.latestVersion, | ||||
| 		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 }; | ||||
|   | ||||
| @@ -16,6 +16,7 @@ module.exports = function (privileges) { | ||||
| 		{ name: '[[admin/manage/privileges:admin-dashboard]]' }, | ||||
| 		{ name: '[[admin/manage/privileges:admin-categories]]' }, | ||||
| 		{ name: '[[admin/manage/privileges:admin-privileges]]' }, | ||||
| 		{ name: '[[admin/manage/privileges:admin-admins-mods]]' }, | ||||
| 		{ name: '[[admin/manage/privileges:admin-users]]' }, | ||||
| 		{ name: '[[admin/manage/privileges:admin-groups]]' }, | ||||
| 		{ name: '[[admin/manage/privileges:admin-settings]]' }, | ||||
| @@ -25,6 +26,7 @@ module.exports = function (privileges) { | ||||
| 		'admin:dashboard', | ||||
| 		'admin:categories', | ||||
| 		'admin:privileges', | ||||
| 		'admin:admins-mods', | ||||
| 		'admin:users', | ||||
| 		'admin:groups', | ||||
| 		'admin:settings', | ||||
| @@ -37,6 +39,7 @@ module.exports = function (privileges) { | ||||
| 		dashboard: 'admin:dashboard', | ||||
| 		'manage/categories': 'admin:categories', | ||||
| 		'manage/privileges': 'admin:privileges', | ||||
| 		'manage/admins-mods': 'admin:admins-mods', | ||||
| 		'manage/users': 'admin:users', | ||||
| 		'manage/groups': 'admin:groups', | ||||
| 		'extend/plugins': 'admin:settings', | ||||
| @@ -65,11 +68,14 @@ module.exports = function (privileges) { | ||||
| 		'admin.categories.copySettingsFrom': 'admin:categories', | ||||
|  | ||||
| 		'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.copyPrivilegesFrom': '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.groups.join': '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: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:admins-mods }}}<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>{{{ end }}} | ||||
| 			{{{ 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/tags">[[admin/menu:manage/tags]]</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: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:admins-mods }}}<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>{{{ end }}} | ||||
| 					{{{ 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/tags">[[admin/menu:manage/tags]]</a></li> | ||||
| 					<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user