PLT-4535/PLT-4503 Fix inactive users in searches and add option functionality to DB user search (#4413)

* Add options to user database search

* Fix inactive users showing up incorrectly in some user searches

* Read JSON for searchUsers API into anonymous struct

* Move anonymous struct to be a normal struct in model directory and upadte client to use it

* Added clarification comment about slightly odd query condition in search
Этот коммит содержится в:
Joram Wilander
2016-11-02 14:38:34 -04:00
коммит произвёл GitHub
родитель b45cc443c9
Коммит 137ade29d0
14 изменённых файлов: 279 добавлений и 83 удалений

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

@@ -13,7 +13,7 @@ import UserStore from 'stores/user_store.jsx';
import {searchUsers, loadProfilesAndTeamMembers, loadTeamMembersForProfilesList} from 'actions/user_actions.jsx';
import {getTeamStats, getUser} from 'utils/async_client.jsx';
import Constants from 'utils/constants.jsx';
import {Constants, UserSearchOptions} from 'utils/constants.jsx';
import * as Utils from 'utils/utils.jsx';
import React from 'react';
@@ -145,10 +145,13 @@ export default class UserList extends React.Component {
return;
}
const options = {};
options[UserSearchOptions.ALLOW_INACTIVE] = true;
searchUsers(
term,
this.props.params.team,
{},
options,
(users) => {
this.setState({loading: true, search: true, users});
loadTeamMembersForProfilesList(users, this.props.params.team, this.loadComplete);

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

@@ -105,7 +105,7 @@ export default class ChannelInviteModal extends React.Component {
searchUsers(
term,
TeamStore.getCurrentId(),
{not_in_channel: this.props.channel.id},
{not_in_channel_id: this.props.channel.id},
(users) => {
this.setState({search: true, users});
}

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

@@ -117,7 +117,7 @@ export default class ChannelMembersModal extends React.Component {
searchUsers(
term,
TeamStore.getCurrentId(),
{in_channel: this.props.channel.id},
{in_channel_id: this.props.channel.id},
(users) => {
this.setState({search: true, users});
}

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

@@ -37,7 +37,7 @@ export default class MoreDirectChannels extends React.Component {
this.loadComplete = this.loadComplete.bind(this);
this.state = {
users: UserStore.getProfileListInTeam(TeamStore.getCurrentId(), true),
users: UserStore.getProfileListInTeam(TeamStore.getCurrentId(), true, true),
loadingDMChannel: -1,
listType: 'team',
loading: false,
@@ -111,7 +111,7 @@ export default class MoreDirectChannels extends React.Component {
if (this.state.listType === 'any') {
users = UserStore.getProfileList();
} else {
users = UserStore.getProfileListInTeam(TeamStore.getCurrentId(), true);
users = UserStore.getProfileListInTeam(TeamStore.getCurrentId(), true, true);
}
this.setState({
@@ -125,7 +125,7 @@ export default class MoreDirectChannels extends React.Component {
if (listType === 'any') {
users = UserStore.getProfileList();
} else {
users = UserStore.getProfileListInTeam(TeamStore.getCurrentId(), true);
users = UserStore.getProfileListInTeam(TeamStore.getCurrentId(), true, true);
}
this.setState({