FIX: second factor input for username password is disabled when hidden.

This commit is contained in:
Jeff Wong 2018-08-24 16:05:18 -07:00
parent faf09bb8c8
commit 3743e90316
5 changed files with 32 additions and 20 deletions

View File

@ -28,6 +28,7 @@ export default Ember.Controller.extend(ModalFunctionality, {
loggedIn: false,
processingEmailLink: false,
showLoginButtons: true,
showSecondFactor: false,
canLoginLocal: setting("enable_local_logins"),
canLoginLocalWithEmail: setting("enable_local_logins_via_email"),
@ -40,10 +41,21 @@ export default Ember.Controller.extend(ModalFunctionality, {
loggingIn: false,
loggedIn: false,
secondFactorRequired: false,
showSecondFactor: false,
showLoginButtons: true
});
$("#credentials").show();
$("#second-factor").hide();
},
@computed("showSecondFactor")
credentialsClass(showSecondFactor) {
console.log(showSecondFactor);
return showSecondFactor ? "hidden" : "";
},
@computed("showSecondFactor")
secondFactorClass(showSecondFactor) {
console.log(showSecondFactor);
return showSecondFactor ? "" : "hidden";
},
// Determines whether at least one login button is enabled
@ -110,15 +122,17 @@ export default Ember.Controller.extend(ModalFunctionality, {
!self.get("secondFactorRequired")
) {
$("#modal-alert").hide();
console.log("showing second factor...");
self.setProperties({
secondFactorRequired: true,
showLoginButtons: false,
backupEnabled: result.backup_enabled
backupEnabled: result.backup_enabled,
showSecondFactor: true
});
$("#credentials").hide();
$("#second-factor").show();
$("#second-factor input").focus();
Ember.run.next(() => {
$("#second-factor input").focus();
});
return;
} else if (result.reason === "not_activated") {

View File

@ -10,14 +10,14 @@
{{#if canLoginLocal}}
<form id='login-form' method='post'>
<div id="credentials">
<div id="credentials" class={{credentialsClass}}>
<table>
<tr>
<td>
<label for='login-account-name'>{{i18n 'login.username'}}</label>
</td>
<td>
{{text-field value=loginName type="email" placeholderKey="login.email_placeholder" id="login-account-name" autocorrect="off" autocapitalize="off"}}
{{text-field value=loginName type="email" placeholderKey="login.email_placeholder" id="login-account-name" autocorrect="off" autocapitalize="off" disabled=showSecondFactor}}
</td>
</tr>
<tr>
@ -25,7 +25,7 @@
<label for='login-account-password'>{{i18n 'login.password'}}</label>
</td>
<td>
{{text-field value=loginPassword type="password" id="login-account-password" maxlength="200"}}
{{text-field value=loginPassword type="password" id="login-account-password" maxlength="200" disabled=showSecondFactor}}
</td>
</tr>
<tr>
@ -36,7 +36,7 @@
</tr>
</table>
</div>
{{#second-factor-form secondFactorMethod=secondFactorMethod loginSecondFactor=loginSecondFactor backupEnabled=backupEnabled}}
{{#second-factor-form secondFactorMethod=secondFactorMethod loginSecondFactor=loginSecondFactor backupEnabled=backupEnabled class=secondFactorClass}}
{{second-factor-input value=loginSecondFactor inputId='login-second-factor' secondFactorMethod=secondFactorMethod}}
{{/second-factor-form}}
</form>

View File

@ -3,15 +3,15 @@
{{#if canLoginLocal}}
<form id='login-form' method='post'>
<div id="credentials">
<div id="credentials" class={{credentialsClass}}>
<table>
<tr>
<td><label for='login-account-name'>{{i18n 'login.username'}}</label></td>
<td>{{text-field value=loginName placeholderKey="login.email_placeholder" id="login-account-name" autocorrect="off" autocapitalize="off" autofocus="autofocus"}}</td>
<td>{{text-field value=loginName placeholderKey="login.email_placeholder" id="login-account-name" autocorrect="off" autocapitalize="off" autofocus="autofocus" disabled=showSecondFactor}}</td>
</tr>
<tr>
<td><label for='login-account-password'>{{i18n 'login.password'}}</label></td>
<td>{{password-field value=loginPassword type="password" id="login-account-password" maxlength="200" capsLockOn=capsLockOn}}</td>
<td>{{password-field value=loginPassword type="password" id="login-account-password" maxlength="200" capsLockOn=capsLockOn disabled=showSecondFactor}}</td>
<td><a id="forgot-password-link" {{action "forgotPassword"}}>{{i18n 'forgot_password.action'}}</a></td>
</tr>
<tr>
@ -21,7 +21,7 @@
</tr>
</table>
</div>
{{#second-factor-form secondFactorMethod=secondFactorMethod loginSecondFactor=loginSecondFactor backupEnabled=backupEnabled}}
{{#second-factor-form secondFactorMethod=secondFactorMethod loginSecondFactor=loginSecondFactor backupEnabled=backupEnabled class=secondFactorClass}}
{{second-factor-input value=loginSecondFactor inputId='login-second-factor' secondFactorMethod=secondFactorMethod}}
{{/second-factor-form}}
</form>

View File

@ -53,9 +53,10 @@
display: flex;
flex-direction: column;
}
}
#second-factor {
display: none;
&.hidden {
display: none;
}
}
}

View File

@ -130,9 +130,6 @@
padding: 4px 0;
}
}
#second-factor {
display: none;
}
}
// styles for the