summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webapp/components/login/login_controller.jsx34
-rw-r--r--webapp/i18n/en.json9
2 files changed, 32 insertions, 11 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 = '';
diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json
index 13c806634..5e9c50d03 100644
--- a/webapp/i18n/en.json
+++ b/webapp/i18n/en.json
@@ -958,8 +958,15 @@
"login.google": "Google Apps",
"login.invalidPassword": "Your password is incorrect.",
"login.ldapUsername": "LDAP Username",
+ "login.ldapUsernameLower": "LDAP username",
"login.noAccount": "Don't have an account? ",
- "login.noLoginId": "Please enter your {loginId}",
+ "login.noEmail": "Please enter your email",
+ "login.noUsername": "Please enter your username",
+ "login.noLdapUsername": "Please enter your {ldapUsername}",
+ "login.noEmailUsername": "Please enter your email or username",
+ "login.noEmailLdapUsername": "Please enter your email or {ldapUsername}",
+ "login.noUsernameLdapUsername": "Please enter your username or {ldapUsername}",
+ "login.noEmailUsernameLdapUsername": "Please enter your email, username or {ldapUsername}",
"login.noPassword": "Please enter your password",
"login.on": "on {siteName}",
"login.or": "or",