Skip to content

Commit d2ce8c6

Browse files
committed
include "Inactive User: " prefix in member button on group management page to match what we do for permissions page
1 parent 0721558 commit d2ce8c6

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

packages/components/src/internal/components/permissions/models.test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
} from '../../../test/data/constants';
3030

3131
import { getRolesByUniqueName, processGetRolesResponse } from './actions';
32+
import { Member } from '../administration/models';
3233
import { Principal, SecurityAssignment, SecurityPolicy, SecurityRole } from './models';
3334

3435
const GROUP = Principal.createFromSelectRow(
@@ -146,6 +147,23 @@ describe('SecurityAssignment model', () => {
146147
const userInactive = new SecurityAssignment({ userId: 1, type: undefined, displayName: 'DisplayName' });
147148
expect(SecurityAssignment.getDisplayName(userInactive)).toBe('Inactive User: 1');
148149
});
150+
151+
test('getDisplayNameForMember', () => {
152+
const activeMember: Member = { id: 1, name: 'activeUser', type: 'u', userActive: true };
153+
expect(SecurityAssignment.getDisplayNameForMember(activeMember)).toBe('activeUser');
154+
155+
const memberWithoutActiveFlag: Member = { id: 2, name: 'unknownUser', type: 'u' };
156+
expect(SecurityAssignment.getDisplayNameForMember(memberWithoutActiveFlag)).toBe('unknownUser');
157+
158+
const inactiveMember: Member = { id: 3, name: 'inactiveUser', type: 'u', userActive: false };
159+
expect(SecurityAssignment.getDisplayNameForMember(inactiveMember)).toBe('Inactive User: inactiveUser');
160+
161+
const groupMember: Member = { id: 4, name: 'someGroup', type: 'g', userActive: true };
162+
expect(SecurityAssignment.getDisplayNameForMember(groupMember)).toBe('someGroup');
163+
164+
const groupMemberWithoutActiveFlag: Member = { id: 5, name: 'someGroup2', type: 'g' };
165+
expect(SecurityAssignment.getDisplayNameForMember(groupMemberWithoutActiveFlag)).toBe('someGroup2');
166+
});
149167
});
150168

151169
describe('SecurityPolicy model', () => {

packages/components/src/internal/components/permissions/models.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { Record, List, Map } from 'immutable';
77
import React from 'react';
88

99
import { naturalSort } from '../../../public/sort';
10-
import { Groups, MemberType } from '../administration/models';
10+
import { Groups, Member, MemberType } from '../administration/models';
1111

1212
export class Principal extends Record({
1313
userId: undefined,
@@ -150,6 +150,15 @@ export class SecurityAssignment extends Record({
150150

151151
return assignment.displayName || assignment.userId.toString();
152152
}
153+
154+
static getDisplayNameForMember(member: Member): string {
155+
// inactive users will return userActive false
156+
if (member.userActive === false) {
157+
return 'Inactive User: ' + member.name;
158+
}
159+
160+
return member.name;
161+
}
153162
}
154163

155164
export class SecurityPolicy extends Record({

0 commit comments

Comments
 (0)