diff options
Diffstat (limited to 'webapp/components')
5 files changed, 30 insertions, 17 deletions
diff --git a/webapp/components/admin_console/configuration_settings.jsx b/webapp/components/admin_console/configuration_settings.jsx index e34167a30..6a07e31cd 100644 --- a/webapp/components/admin_console/configuration_settings.jsx +++ b/webapp/components/admin_console/configuration_settings.jsx @@ -28,6 +28,7 @@ export default class ConfigurationSettings extends AdminSettings { } getConfigFromState(config) { + config.ServiceSettings.SiteURL = this.state.siteURL; config.ServiceSettings.ListenAddress = this.state.listenAddress; config.ServiceSettings.WebserverMode = this.state.webserverMode; @@ -36,6 +37,7 @@ export default class ConfigurationSettings extends AdminSettings { getStateFromConfig(config) { return { + siteURL: config.ServiceSettings.SiteURL, listenAddress: config.ServiceSettings.ListenAddress, webserverMode: config.ServiceSettings.WebserverMode }; @@ -56,6 +58,24 @@ export default class ConfigurationSettings extends AdminSettings { return ( <SettingsGroup> <TextSetting + id='siteURL' + label={ + <FormattedMessage + id='admin.service.siteURL' + defaultMessage='Site URL:' + /> + } + placeholder={Utils.localizeMessage('admin.service.siteURLExample', 'Ex "https://mattermost.example.com:1234"')} + helpText={ + <FormattedMessage + id='admin.service.siteURLDescription' + defaultMessage='The URL, including port number and protocol, from which users will access Mattermost. Leave blank to automatically configure based on incoming traffic.' + /> + } + value={this.state.siteURL} + onChange={this.handleChange} + /> + <TextSetting id='listenAddress' label={ <FormattedMessage diff --git a/webapp/components/admin_console/reset_password_modal.jsx b/webapp/components/admin_console/reset_password_modal.jsx index 6d5a03f2a..dee04b87c 100644 --- a/webapp/components/admin_console/reset_password_modal.jsx +++ b/webapp/components/admin_console/reset_password_modal.jsx @@ -3,17 +3,10 @@ import ReactDOM from 'react-dom'; import Client from 'client/web_client.jsx'; -import Constants from 'utils/constants.jsx'; +import * as Utils from 'utils/utils.jsx'; import {Modal} from 'react-bootstrap'; -import {injectIntl, intlShape, defineMessages, FormattedMessage} from 'react-intl'; - -var holders = defineMessages({ - submit: { - id: 'admin.reset_password.submit', - defaultMessage: 'Please enter at least {chars} characters.' - } -}); +import {injectIntl, intlShape, FormattedMessage} from 'react-intl'; import React from 'react'; @@ -31,13 +24,13 @@ class ResetPasswordModal extends React.Component { doSubmit(e) { e.preventDefault(); - var password = ReactDOM.findDOMNode(this.refs.password).value; + const password = this.refs.password.value; - if (!password || password.length < Constants.MIN_PASSWORD_LENGTH) { - this.setState({serverError: this.props.intl.formatMessage(holders.submit, {chars: Constants.MIN_PASSWORD_LENGTH})}); + const passwordErr = Utils.isValidPassword(password); + if (passwordErr) { + this.setState({serverError: passwordErr}); return; } - this.setState({serverError: null}); Client.adminResetPassword( diff --git a/webapp/components/create_team/components/team_url.jsx b/webapp/components/create_team/components/team_url.jsx index bcbe0a1a1..b6c7d38f3 100644 --- a/webapp/components/create_team/components/team_url.jsx +++ b/webapp/components/create_team/components/team_url.jsx @@ -105,7 +105,7 @@ export default class TeamUrl extends React.Component { nameDivClass += ' has-error'; } - const title = `${window.mm_config.SiteURL}/`; + const title = `${Utils.getSiteURL()}/`; const urlTooltip = ( <Tooltip id='urlTooltip'>{title}</Tooltip> ); diff --git a/webapp/components/integrations/components/installed_incoming_webhook.jsx b/webapp/components/integrations/components/installed_incoming_webhook.jsx index 008000012..965ed2bc9 100644 --- a/webapp/components/integrations/components/installed_incoming_webhook.jsx +++ b/webapp/components/integrations/components/installed_incoming_webhook.jsx @@ -97,7 +97,7 @@ export default class InstalledIncomingWebhook extends React.Component { id='installed_integrations.url' defaultMessage='URL: {url}' values={{ - url: window.mm_config.SiteURL + '/hooks/' + incomingWebhook.id + url: Utils.getSiteURL() + '/hooks/' + incomingWebhook.id }} /> </span> diff --git a/webapp/components/signup_user_complete.jsx b/webapp/components/signup_user_complete.jsx index 23e115124..eec143996 100644 --- a/webapp/components/signup_user_complete.jsx +++ b/webapp/components/signup_user_complete.jsx @@ -591,7 +591,7 @@ export default class SignupUserComplete extends React.Component { <a className='btn btn-custom-login google' key='google' - href={Client.getOAuthRoute() + '/google/signup' + window.location.search + '&team=' + encodeURIComponent(this.state.teamName)} + href={Client.getOAuthRoute() + '/google/signup' + window.location.search} > <span className='icon'/> <span> @@ -609,7 +609,7 @@ export default class SignupUserComplete extends React.Component { <a className='btn btn-custom-login office365' key='office365' - href={Client.getOAuthRoute() + '/office365/signup' + window.location.search + '&team=' + encodeURIComponent(this.state.teamName)} + href={Client.getOAuthRoute() + '/office365/signup' + window.location.search} > <span className='icon'/> <span> |