[MM-9690] Fix Open teams that you've never been a member of aren't able to be joined (#1465)

This commit is contained in:
enahum 2018-03-05 15:13:23 +00:00 committed by Harrison Healey
parent b465312cee
commit 31d48fa49c
4 changed files with 20 additions and 21 deletions

View file

@ -5,7 +5,7 @@ import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import {getCurrentUrl} from 'mattermost-redux/selectors/entities/general';
import {getCurrentTeamId, getJoinableTeamIds, getMySortedTeamIds} from 'mattermost-redux/selectors/entities/teams';
import {getCurrentTeamId, getMySortedTeamIds} from 'mattermost-redux/selectors/entities/teams';
import {getTheme} from 'mattermost-redux/selectors/entities/preferences';
import {handleTeamChange} from 'app/actions/views/select_team';
@ -18,7 +18,6 @@ function mapStateToProps(state) {
const locale = getCurrentLocale(state);
return {
canJoinOtherTeams: getJoinableTeamIds(state).length > 0,
currentTeamId: getCurrentTeamId(state),
currentUrl: removeProtocol(getCurrentUrl(state)),
teamIds: getMySortedTeamIds(state, locale),

View file

@ -33,7 +33,6 @@ class TeamsList extends PureComponent {
actions: PropTypes.shape({
handleTeamChange: PropTypes.func.isRequired,
}).isRequired,
canJoinOtherTeams: PropTypes.bool.isRequired,
closeChannelDrawer: PropTypes.func.isRequired,
currentTeamId: PropTypes.string.isRequired,
currentUrl: PropTypes.string.isRequired,
@ -106,25 +105,22 @@ class TeamsList extends PureComponent {
};
render() {
const {canJoinOtherTeams, teamIds, theme} = this.props;
const {teamIds, theme} = this.props;
const styles = getStyleSheet(theme);
let moreAction;
if (canJoinOtherTeams) {
moreAction = (
<TouchableHighlight
style={styles.moreActionContainer}
onPress={this.goToSelectTeam}
underlayColor={changeOpacity(theme.sidebarHeaderBg, 0.5)}
const moreAction = (
<TouchableHighlight
style={styles.moreActionContainer}
onPress={this.goToSelectTeam}
underlayColor={changeOpacity(theme.sidebarHeaderBg, 0.5)}
>
<Text
style={styles.moreAction}
>
<Text
style={styles.moreAction}
>
{'+'}
</Text>
</TouchableHighlight>
);
}
{'+'}
</Text>
</TouchableHighlight>
);
return (
<View style={styles.container}>

View file

@ -7,7 +7,7 @@ import {connect} from 'react-redux';
import {handleTeamChange} from 'app/actions/views/select_team';
import {markChannelAsRead} from 'mattermost-redux/actions/channels';
import {joinTeam} from 'mattermost-redux/actions/teams';
import {getTeams, joinTeam} from 'mattermost-redux/actions/teams';
import {logout} from 'mattermost-redux/actions/users';
import {getCurrentChannelId} from 'mattermost-redux/selectors/entities/channels';
import {getJoinableTeams} from 'mattermost-redux/selectors/entities/teams';
@ -34,6 +34,7 @@ function mapStateToProps(state) {
function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreators({
getTeams,
handleTeamChange,
joinTeam,
logout,

View file

@ -28,6 +28,7 @@ const VIEWABILITY_CONFIG = ListTypes.VISIBILITY_CONFIG_DEFAULTS;
export default class SelectTeam extends PureComponent {
static propTypes = {
actions: PropTypes.shape({
getTeams: PropTypes.func.isRequired,
handleTeamChange: PropTypes.func.isRequired,
joinTeam: PropTypes.func.isRequired,
logout: PropTypes.func.isRequired,
@ -53,7 +54,9 @@ export default class SelectTeam extends PureComponent {
}
componentDidMount() {
this.buildData(this.props);
this.props.actions.getTeams().then(() => {
this.buildData(this.props);
});
}
componentWillReceiveProps(nextProps) {