Skip to content

Commit

Permalink
fix: #9404, show signatures if the target user has signature privilege
Browse files Browse the repository at this point in the history
  • Loading branch information
barisusakli committed Mar 17, 2021
1 parent ee69c1f commit 801570e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/posts/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ const privileges = require('../privileges');

module.exports = function (Posts) {
Posts.getUserInfoForPosts = async function (uids, uid) {
const [userData, userSettings, canUseSignature] = await Promise.all([
const [userData, userSettings, signatureUids] = await Promise.all([
getUserData(uids, uid),
user.getMultipleUserSettings(uids),
privileges.global.can('signature', uid),
privileges.global.filterUids('signature', uids),
]);

const uidsSignatureSet = new Set(signatureUids.map(uid => parseInt(uid, 10)));
const groupsMap = await getGroupsMap(userData);

userData.forEach((userData, index) => {
Expand All @@ -35,7 +35,7 @@ module.exports = function (Posts) {
return await Promise.all(userData.map(async (userData) => {
const [isMemberOfGroups, signature, customProfileInfo] = await Promise.all([
checkGroupMembership(userData.uid, userData.groupTitleArray),
parseSignature(userData, uid, canUseSignature),
parseSignature(userData, uid, uidsSignatureSet),
plugins.hooks.fire('filter:posts.custom_profile_info', { profile: [], uid: userData.uid }),
]);

Expand Down Expand Up @@ -70,8 +70,8 @@ module.exports = function (Posts) {
return await groups.isMemberOfGroups(uid, groupTitleArray);
}

async function parseSignature(userData, uid, canUseSignature) {
if (!userData.signature || !canUseSignature || meta.config.disableSignatures) {
async function parseSignature(userData, uid, signatureUids) {
if (!userData.signature || !signatureUids.has(userData.uid) || meta.config.disableSignatures) {
return '';
}
const result = await Posts.parseSignature(userData, uid);
Expand Down
5 changes: 5 additions & 0 deletions src/privileges/global.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,11 @@ privsGlobal.canGroup = async function (privilege, groupName) {
return await groups.isMember(groupName, `cid:0:privileges:groups:${privilege}`);
};

privsGlobal.filterUids = async function (privilege, uids) {
const privCategories = require('./categories');
return await privCategories.filterUids(privilege, 0, uids);
};

privsGlobal.give = async function (privileges, groupName) {
await helpers.giveOrRescind(groups.join, privileges, 0, groupName);
plugins.hooks.fire('action:privileges.global.give', {
Expand Down

0 comments on commit 801570e

Please sign in to comment.