// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import ChoosePage from './team_signup_choose_auth.jsx'; import EmailSignUpPage from './team_signup_with_email.jsx'; import SSOSignupPage from './team_signup_with_sso.jsx'; import Constants from '../utils/constants.jsx'; export default class TeamSignUp extends React.Component { constructor(props) { super(props); this.updatePage = this.updatePage.bind(this); var count = 0; if (global.window.mm_config.EnableSignUpWithEmail === 'true') { count = count + 1; } if (global.window.mm_config.EnableSignUpWithGitLab === 'true') { count = count + 1; } if (count > 1) { this.state = {page: 'choose'}; } else if (global.window.mm_config.EnableSignUpWithEmail === 'true') { this.state = {page: 'email'}; } else if (global.window.mm_config.EnableSignUpWithGitLab === 'true') { this.state = {page: 'gitlab'}; } else { this.state = {page: 'none'}; } } updatePage(page) { this.setState({page}); } render() { var teamListing = null; if (global.window.mm_config.EnableTeamListing === 'true') { if (this.props.teams.length === 0) { if (global.window.mm_config.EnableTeamCreation !== 'true') { teamListing = (
{'There are no teams include in the Team Directory and team creation has been disabled.'}
); } } else { teamListing = (

{'Choose a Team'}

{ this.props.teams.map((team) => { return (
{team.display_name}
); }) }

{'Or Create a Team'}

); } } if (global.window.mm_config.EnableTeamCreation !== 'true') { if (teamListing == null) { return (
{'Team creation has been disabled. Please contact an administrator for access.'}
); } return (
{teamListing}
); } if (this.state.page === 'choose') { return (
{teamListing}
); } if (this.state.page === 'email') { return (
{teamListing}
); } else if (this.state.page === 'gitlab') { return (
{teamListing}
); } else if (this.state.page === 'google') { return (
{teamListing}
); } else if (this.state.page === 'none') { return (
{'No team creation method has been enabled. Please contact an administrator for access.'}
); } } } TeamSignUp.propTypes = { teams: React.PropTypes.array };