mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
* feat: add displayname into user obj #8637 * fix: spec * perf: dont load settings if acp setting is turned off
This commit is contained in:
committed by
GitHub
parent
8d060065a0
commit
9ca44e6f54
@@ -114,6 +114,7 @@
|
||||
"email:smtpTransport:pool": false,
|
||||
"hideFullname": 0,
|
||||
"hideEmail": 0,
|
||||
"showFullnameAsDisplayName": 0,
|
||||
"allowGuestHandles": 0,
|
||||
"guestsIncrementTopicViews": 1,
|
||||
"allowGuestReplyNotifications": 1,
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"allow-account-deletion": "Allow account deletion",
|
||||
"hide-fullname": "Hide fullname from users",
|
||||
"hide-email": "Hide email from users",
|
||||
"show-fullname-as-displayname": "Show user's full name as their display name if available",
|
||||
"themes": "Themes",
|
||||
"disable-user-skins": "Prevent users from choosing a custom skin",
|
||||
"account-protection": "Account Protection",
|
||||
|
||||
@@ -34,6 +34,9 @@ PostObject:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
|
||||
@@ -89,6 +89,9 @@ TopicObject:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
fullname:
|
||||
type: string
|
||||
userslug:
|
||||
|
||||
@@ -27,6 +27,10 @@ UserObj:
|
||||
fullname:
|
||||
type: string
|
||||
example: Mr. Dragon Fruit Jr.
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
example: Dragon Fruit
|
||||
location:
|
||||
type: string
|
||||
example: 'Toronto, Canada'
|
||||
|
||||
@@ -37,6 +37,10 @@ UserObject:
|
||||
fullname:
|
||||
type: string
|
||||
example: Mr. Dragon Fruit Jr.
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
example: Dragon Fruit
|
||||
location:
|
||||
type: string
|
||||
example: 'Toronto, Canada'
|
||||
@@ -227,6 +231,10 @@ UserObjectFull:
|
||||
fullname:
|
||||
type: string
|
||||
example: Mr. Dragon Fruit Jr.
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
example: Dragon Fruit
|
||||
location:
|
||||
type: string
|
||||
example: 'Toronto, Canada'
|
||||
@@ -463,6 +471,10 @@ UserObjectSlim:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
example: Dragon Fruit
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
example: Dragon Fruit
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.)
|
||||
@@ -544,6 +556,10 @@ UserObjectACP:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
example: Dragon Fruit
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
example: Dragon Fruit
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.)
|
||||
|
||||
@@ -21,6 +21,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
picture:
|
||||
nullable: true
|
||||
type: string
|
||||
|
||||
@@ -150,6 +150,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
|
||||
@@ -77,6 +77,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
@@ -160,6 +163,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
|
||||
@@ -83,6 +83,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
@@ -145,6 +148,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
|
||||
@@ -36,6 +36,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
|
||||
@@ -137,6 +137,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
|
||||
@@ -109,6 +109,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
fullname:
|
||||
type: string
|
||||
userslug:
|
||||
|
||||
@@ -65,6 +65,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
@@ -115,6 +118,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
picture:
|
||||
type: string
|
||||
nullable: true
|
||||
@@ -171,6 +177,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
@@ -221,6 +230,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
@@ -256,6 +268,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
|
||||
@@ -38,6 +38,9 @@ get:
|
||||
username:
|
||||
type: string
|
||||
description: A friendly name for a given user account
|
||||
displayname:
|
||||
type: string
|
||||
description: This is either username or fullname depending on forum and user settings
|
||||
userslug:
|
||||
type: string
|
||||
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
||||
|
||||
@@ -136,6 +136,15 @@ module.exports = function (User) {
|
||||
};
|
||||
|
||||
async function modifyUserData(users, requestedFields, fieldsToRemove) {
|
||||
let uidToSettings = {};
|
||||
if (meta.config.showFullnameAsDisplayName) {
|
||||
const uids = _.uniq(users.map(user => user.uid));
|
||||
uidToSettings = _.zipObject(uids, await db.getObjectsFields(
|
||||
uids.map(uid => 'user:' + uid + ':settings'),
|
||||
['showfullname']
|
||||
));
|
||||
}
|
||||
|
||||
users = await Promise.all(users.map(async function (user) {
|
||||
if (!user) {
|
||||
return user;
|
||||
@@ -144,6 +153,16 @@ module.exports = function (User) {
|
||||
db.parseIntFields(user, intFields, requestedFields);
|
||||
|
||||
if (user.hasOwnProperty('username')) {
|
||||
let showfullname = parseInt(meta.config.showfullname, 10) === 1;
|
||||
if (uidToSettings[user.uid] && parseInt(uidToSettings[user.uid].showfullname, 10) === 0) {
|
||||
showfullname = false;
|
||||
}
|
||||
|
||||
user.displayname = validator.escape(String(
|
||||
meta.config.showFullnameAsDisplayName && showfullname && user.fullname ?
|
||||
user.fullname :
|
||||
user.username
|
||||
));
|
||||
user.username = validator.escape(user.username ? user.username.toString() : '');
|
||||
}
|
||||
|
||||
|
||||
@@ -77,6 +77,12 @@
|
||||
<span class="mdl-switch__label"><strong>[[admin/settings/user:hide-email]]</strong></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
|
||||
<input class="mdl-switch__input" type="checkbox" data-field="showFullnameAsDisplayName">
|
||||
<span class="mdl-switch__label"><strong>[[admin/settings/user:show-fullname-as-displayname]]</strong></span>
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user