Skip to content

Commit bb39d13

Browse files
author
vikasrohit
authored
Merge pull request #498 from topcoder-platform/hotfix/post-release-2.1.1
[HOTFIX] [PROD] Post release 2.1.1 - part 2
2 parents 6fedc82 + b8ba66b commit bb39d13

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/util.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -724,16 +724,16 @@ _.assignIn(util, {
724724
return _.map(members, (member) => {
725725
let memberDetails = _.find(allMemberDetails, ({ userId }) => userId === member.userId);
726726
memberDetails = _.assign({}, member, _.pick(memberDetails, _.union(memberDetailFields, memberTraitFields)));
727-
// this case would be only valid for invites:
728-
// don't return `email` for non-admins if invitation has `userId`
729-
// if invitation doesn't have `userId` means it is invitation by email
730-
// then we are still returning emails to all users
731-
if (
732-
memberDetails.status && // this is how we identify that the object is "invite" and not a "member"
733-
memberDetails.email &&
734-
memberDetails.userId &&
735-
!util.hasPermission({ topcoderRoles: [USER_ROLE.TOPCODER_ADMIN] }, req.authUser)
736-
) {
727+
728+
// in general, only users with Topcoder administrator privileges can see emails
729+
let canSeeEmail = util.hasPermission({ topcoderRoles: [USER_ROLE.TOPCODER_ADMIN] }, req.authUser);
730+
731+
// specially for invite objects, we still have to return email, if invite is for a new user which doesn't have "userId"
732+
if (memberDetails.status) { // we identify that the object is "invite" and not a "member" if object has "status" field
733+
canSeeEmail = canSeeEmail || !memberDetails.userId;
734+
}
735+
736+
if (!canSeeEmail) {
737737
delete memberDetails.email;
738738
}
739739
return _(memberDetails).pick(fields).defaults(memberDefaults).value();

0 commit comments

Comments
 (0)