PLT-4481 Fix member count for team user lists and channel invite list (#4422)

* Fix member count for team user lists and channel invite list

* Fix client unit test
Этот коммит содержится в:
Joram Wilander
2016-11-04 12:27:19 -04:00
коммит произвёл Christopher Speller
родитель 263f290683
Коммит 00787974d0
11 изменённых файлов: 131 добавлений и 34 удалений

Просмотреть файл

@@ -49,7 +49,7 @@ export default class UserList extends React.Component {
team: AdminStore.getTeam(this.props.params.team),
users: [],
teamMembers: TeamStore.getMembersInTeam(this.props.params.team),
total: stats.member_count,
total: stats.total_member_count,
serverError: null,
showPasswordModal: false,
loading: true,
@@ -75,7 +75,7 @@ export default class UserList extends React.Component {
team: AdminStore.getTeam(nextProps.params.team),
users: [],
teamMembers: TeamStore.getMembersInTeam(nextProps.params.team),
total: stats.member_count
total: stats.total_member_count
});
this.getTeamProfiles(nextProps.params.team);
@@ -102,7 +102,7 @@ export default class UserList extends React.Component {
onStatsChange() {
const stats = TeamStore.getStats(this.props.params.team);
this.setState({total: stats.member_count});
this.setState({total: stats.total_member_count});
}
onUsersChange() {

Просмотреть файл

@@ -38,7 +38,7 @@ export default class ChannelInviteModal extends React.Component {
this.state = {
users: null,
total: teamStats.member_count - channelStats.member_count,
total: teamStats.active_member_count - channelStats.member_count,
show: true,
search: false,
statusChange: false
@@ -72,8 +72,8 @@ export default class ChannelInviteModal extends React.Component {
const teamStats = TeamStore.getCurrentStats();
this.setState({
users: UserStore.getProfileListNotInChannel(this.props.channel.id),
total: teamStats.member_count - channelStats.member_count
users: UserStore.getProfileListNotInChannel(this.props.channel.id, true),
total: teamStats.active_member_count - channelStats.member_count
});
}

Просмотреть файл

@@ -30,7 +30,7 @@ export default class MemberListTeam extends React.Component {
this.state = {
users: UserStore.getProfileListInTeam(),
teamMembers: Object.assign([], TeamStore.getMembersInTeam()),
total: stats.member_count,
total: stats.total_member_count,
search: false,
loading: true
};
@@ -67,7 +67,7 @@ export default class MemberListTeam extends React.Component {
onStatsChange() {
const stats = TeamStore.getCurrentStats();
this.setState({total: stats.member_count});
this.setState({total: stats.total_member_count});
}
nextPage(page) {

Просмотреть файл

@@ -320,6 +320,10 @@ class UserStoreClass extends EventEmitter {
for (let i = 0; i < userIds.length; i++) {
const profile = this.getProfile(userIds[i]);
if (!profile) {
continue;
}
if (skipCurrent && profile.id === currentId) {
continue;
}
@@ -328,9 +332,7 @@ class UserStoreClass extends EventEmitter {
continue;
}
if (profile) {
profiles.push(profile);
}
profiles.push(profile);
}
return profiles;
@@ -473,15 +475,22 @@ class UserStoreClass extends EventEmitter {
userIds.splice(index, 1);
}
getProfileListNotInChannel(channelId = ChannelStore.getCurrentId()) {
getProfileListNotInChannel(channelId = ChannelStore.getCurrentId(), skipInactive = false) {
const userIds = this.profiles_not_in_channel[channelId] || [];
const profiles = [];
for (let i = 0; i < userIds.length; i++) {
const profile = this.getProfile(userIds[i]);
if (profile) {
profiles.push(profile);
if (!profile) {
continue;
}
if (skipInactive && profile.delete_at > 0) {
continue;
}
profiles.push(profile);
}
return profiles;

Просмотреть файл

@@ -169,7 +169,7 @@ describe('Client.Team', function() {
TestHelper.basicClient().getTeamStats(
TestHelper.basicTeam().id,
function(data) {
assert.equal(data.member_count > 0, true);
assert.equal(data.total_member_count > 0, true);
done();
},
function(err) {