From: Grégoire Aubert Date: Tue, 22 May 2018 12:23:43 +0000 (+0200) Subject: SONAR-10692 Don't break the issues page if a user is missing X-Git-Tag: 7.5~1144 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4feaaa420f34c2ae4e6d4c9bc09da49d5dd8edbb;p=sonarqube.git SONAR-10692 Don't break the issues page if a user is missing --- diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueAssign.js b/server/sonar-web/src/main/js/components/issue/components/IssueAssign.js index 783fdec65b0..ffb8dd35c17 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueAssign.js +++ b/server/sonar-web/src/main/js/components/issue/components/IssueAssign.js @@ -58,13 +58,13 @@ export default class IssueAssign extends React.PureComponent { )} - {issue.assignee ? issue.assigneeName : translate('unassigned')} + {issue.assignee ? issue.assigneeName || issue.assignee : translate('unassigned')} ); diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.js b/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.js index 3a0910f6552..cce84863a06 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.js +++ b/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.js @@ -89,10 +89,10 @@ export default class IssueCommentLine extends React.PureComponent { - {comment.authorName} + {comment.authorName || comment.author}
- {issue.assigneeName} + {issue.assigneeName || issue.assignee} ) : ( translate('unassigned') diff --git a/server/sonar-web/src/main/js/components/ui/Avatar.tsx b/server/sonar-web/src/main/js/components/ui/Avatar.tsx index 0c87c366251..7657c13419c 100644 --- a/server/sonar-web/src/main/js/components/ui/Avatar.tsx +++ b/server/sonar-web/src/main/js/components/ui/Avatar.tsx @@ -28,12 +28,15 @@ interface Props { enableGravatar: boolean; gravatarServerUrl: string; hash?: string; - name: string; + name?: string; size: number; } function Avatar(props: Props) { if (!props.enableGravatar || !props.hash) { + if (!props.name) { + return null; + } return ; } @@ -43,11 +46,11 @@ function Avatar(props: Props) { return ( {props.name} ); } diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/Avatar-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/Avatar-test.tsx index ad6d7c5bd3d..295f89e215a 100644 --- a/server/sonar-web/src/main/js/components/ui/__tests__/Avatar-test.tsx +++ b/server/sonar-web/src/main/js/components/ui/__tests__/Avatar-test.tsx @@ -42,3 +42,10 @@ it('falls back to dummy avatar', () => { ); expect(avatar).toMatchSnapshot(); }); + +it('do not fail when name is missing', () => { + const avatar = shallow( + + ); + expect(avatar.getElement()).toBeNull(); +});