summaryrefslogtreecommitdiffstats
path: root/webapp/components/login
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/login')
-rw-r--r--webapp/components/login/login_controller.jsx34
1 files changed, 24 insertions, 10 deletions
diff --git a/webapp/components/login/login_controller.jsx b/webapp/components/login/login_controller.jsx
index dc450dabd..2422db5f7 100644
--- a/webapp/components/login/login_controller.jsx
+++ b/webapp/components/login/login_controller.jsx
@@ -33,6 +33,9 @@ export default class LoginController extends React.Component {
this.handlePasswordChange = this.handlePasswordChange.bind(this);
this.state = {
+ ldapEnabled: global.window.mm_license.IsLicensed === 'true' && global.window.mm_config.EnableLdap === 'true',
+ usernameSigninEnabled: global.window.mm_config.EnableSignInWithUsername === 'true',
+ emailSigninEnabled: global.window.mm_config.EnableSignInWithEmail === 'true',
loginId: '', // the browser will set a default for this
password: '',
showMfa: false
@@ -68,13 +71,24 @@ export default class LoginController extends React.Component {
password = password.trim();
if (!loginId) {
+ // it's slightly weird to be constructing the message ID, but it's a bit nicer than triply nested if statements
+ let msgId = 'login.no';
+ if (this.state.emailSigninEnabled) {
+ msgId += 'Email';
+ }
+ if (this.state.usernameSigninEnabled) {
+ msgId += 'Username';
+ }
+ if (this.state.ldapEnabled) {
+ msgId += 'LdapUsername';
+ }
+
this.setState({
serverError: (
<FormattedMessage
- id='login.noLoginId'
- defaultMessage='Please enter your {loginId}'
+ id={msgId}
values={{
- loginId: this.createLoginPlaceholder()
+ ldapUsername: global.window.mm_config.LdapLoginFieldName || Utils.localizeMessage('login.ldapUsernameLower', 'LDAP username')
}}
/>
)
@@ -195,9 +209,9 @@ export default class LoginController extends React.Component {
}
createLoginPlaceholder() {
- const ldapEnabled = global.window.mm_config.EnableLdap === 'true';
- const usernameSigninEnabled = global.window.mm_config.EnableSignInWithUsername === 'true';
- const emailSigninEnabled = global.window.mm_config.EnableSignInWithEmail === 'true';
+ const ldapEnabled = this.state.ldapEnabled;
+ const usernameSigninEnabled = this.state.usernameSigninEnabled;
+ const emailSigninEnabled = this.state.emailSigninEnabled;
const loginPlaceholders = [];
if (emailSigninEnabled) {
@@ -212,7 +226,7 @@ export default class LoginController extends React.Component {
if (global.window.mm_config.LdapLoginFieldName) {
loginPlaceholders.push(global.window.mm_config.LdapLoginFieldName);
} else {
- loginPlaceholders.push(Utils.localizeMessage('login.ldap_username', 'LDAP Username'));
+ loginPlaceholders.push(Utils.localizeMessage('login.ldapUsername', 'LDAP Username'));
}
}
@@ -276,11 +290,11 @@ export default class LoginController extends React.Component {
const loginControls = [];
- const ldapEnabled = global.window.mm_config.EnableLdap === 'true';
+ const ldapEnabled = this.state.ldapEnabled;
const gitlabSigninEnabled = global.window.mm_config.EnableSignUpWithGitLab === 'true';
const googleSigninEnabled = global.window.mm_config.EnableSignUpWithGoogle === 'true';
- const usernameSigninEnabled = global.window.mm_config.EnableSignInWithUsername === 'true';
- const emailSigninEnabled = global.window.mm_config.EnableSignInWithEmail === 'true';
+ const usernameSigninEnabled = this.state.usernameSigninEnabled;
+ const emailSigninEnabled = this.state.emailSigninEnabled;
if (emailSigninEnabled || usernameSigninEnabled || ldapEnabled) {
let errorClass = '';