mirror of
https://github.com/vale981/accounts-ui
synced 2025-03-04 17:31:41 -05:00
Merge pull request #58 from todda00/form-submit-hook
call onSubmitHook after all form submissions
This commit is contained in:
commit
ee0ffeb81f
1 changed files with 39 additions and 16 deletions
|
@ -444,7 +444,9 @@ export class LoginForm extends Tracker.Component {
|
|||
username = null,
|
||||
email = null,
|
||||
usernameOrEmail = null,
|
||||
password
|
||||
password,
|
||||
formState,
|
||||
onSubmitHook
|
||||
} = this.state;
|
||||
|
||||
let loginSelector;
|
||||
|
@ -486,6 +488,7 @@ export class LoginForm extends Tracker.Component {
|
|||
}
|
||||
|
||||
Meteor.loginWithPassword(loginSelector, password, (error, result) => {
|
||||
onSubmitHook(error,formState);
|
||||
if (error) {
|
||||
this.showMessage(T9n.get(`error.accounts.${error.reason}`) || T9n.get("Unknown error"), 'error');
|
||||
}
|
||||
|
@ -517,7 +520,7 @@ export class LoginForm extends Tracker.Component {
|
|||
}
|
||||
|
||||
oauthSignIn(serviceName) {
|
||||
const { formState, waiting, user } = this.state;
|
||||
const { formState, waiting, user, onSubmitHook } = this.state;
|
||||
//Thanks Josh Owens for this one.
|
||||
function capitalService() {
|
||||
return serviceName.charAt(0).toUpperCase() + serviceName.slice(1);
|
||||
|
@ -538,6 +541,7 @@ export class LoginForm extends Tracker.Component {
|
|||
options.forceApprovalPrompt = Accounts.ui._options.forceApprovalPrompt[serviceName];
|
||||
|
||||
loginWithService(options, (error) => {
|
||||
onSubmitHook(error,formState);
|
||||
if (error) {
|
||||
this.showMessage(T9n.get(`error.accounts.${error.reason}`) || T9n.get("Unknown error"));
|
||||
} else {
|
||||
|
@ -556,7 +560,8 @@ export class LoginForm extends Tracker.Component {
|
|||
email = null,
|
||||
usernameOrEmail = null,
|
||||
password,
|
||||
formState
|
||||
formState,
|
||||
onSubmitHook
|
||||
} = this.state;
|
||||
|
||||
if (username !== null) {
|
||||
|
@ -594,7 +599,7 @@ export class LoginForm extends Tracker.Component {
|
|||
}
|
||||
else if (!validatePassword(password)) {
|
||||
this.showMessage(T9n.get("error.minChar").replace(/7/, Accounts.ui._options.minimumPasswordLength), 'warning');
|
||||
this.state.onSubmitHook("error.minChar", formState);
|
||||
onSubmitHook("error.minChar", formState);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
|
@ -608,13 +613,14 @@ export class LoginForm extends Tracker.Component {
|
|||
if (error) {
|
||||
this.showMessage(T9n.get(`error.accounts.${error.reason}`) || T9n.get("Unknown error"), 'error');
|
||||
if (T9n.get(`error.accounts.${error.reason}`)) {
|
||||
this.state.onSubmitHook(`error.accounts.${error.reason}`, formState);
|
||||
onSubmitHook(`error.accounts.${error.reason}`, formState);
|
||||
}
|
||||
else {
|
||||
this.state.onSubmitHook("Unknown error", formState);
|
||||
onSubmitHook("Unknown error", formState);
|
||||
}
|
||||
}
|
||||
else {
|
||||
onSubmitHook(null, formState);
|
||||
this.setState({
|
||||
formState: STATES.PROFILE,
|
||||
message: null,
|
||||
|
@ -642,7 +648,9 @@ export class LoginForm extends Tracker.Component {
|
|||
const {
|
||||
email = '',
|
||||
usernameOrEmail = '',
|
||||
waiting
|
||||
waiting,
|
||||
formState,
|
||||
onSubmitHook
|
||||
} = this.state;
|
||||
|
||||
if (waiting) {
|
||||
|
@ -659,7 +667,7 @@ export class LoginForm extends Tracker.Component {
|
|||
else {
|
||||
this.showMessage(T9n.get("info.emailSent"), 'success', 5000);
|
||||
}
|
||||
|
||||
onSubmitHook(error, formState);
|
||||
this.setState({ waiting: false });
|
||||
});
|
||||
}
|
||||
|
@ -673,24 +681,29 @@ export class LoginForm extends Tracker.Component {
|
|||
else {
|
||||
this.showMessage(T9n.get("info.emailSent"), 'success', 5000);
|
||||
}
|
||||
|
||||
onSubmitHook(error, formState);
|
||||
this.setState({ waiting: false });
|
||||
});
|
||||
}
|
||||
else {
|
||||
let errMsg = null;
|
||||
if (_.contains([ "USERNAME_AND_EMAIL_NO_PASSWORD" ], passwordSignupFields())) {
|
||||
this.showMessage(T9n.get("error.accounts.Invalid email or username"), 'warning');
|
||||
errMsg = T9n.get("error.accounts.Invalid email or username");
|
||||
}
|
||||
else {
|
||||
this.showMessage(T9n.get("error.accounts.Invalid email"), 'warning');
|
||||
errMsg = T9n.get("error.accounts.Invalid email");
|
||||
}
|
||||
this.showMessage(errMsg,'warning');
|
||||
onSubmitHook(errMsg, formState);
|
||||
}
|
||||
}
|
||||
|
||||
passwordReset() {
|
||||
const {
|
||||
email = '',
|
||||
waiting
|
||||
waiting,
|
||||
formState,
|
||||
onSubmitHook
|
||||
} = this.state;
|
||||
|
||||
if (waiting) {
|
||||
|
@ -707,23 +720,29 @@ export class LoginForm extends Tracker.Component {
|
|||
else {
|
||||
this.showMessage(T9n.get("info.emailSent"), 'success', 5000);
|
||||
}
|
||||
|
||||
onSubmitHook(error, formState);
|
||||
this.setState({ waiting: false });
|
||||
});
|
||||
}
|
||||
else {
|
||||
this.showMessage(T9n.get("error.accounts.Invalid email"), 'warning');
|
||||
const errMsg = T9n.get("error.accounts.Invalid email");
|
||||
onSubmitHook(errMsg, formState);
|
||||
this.showMessage(errMsg,'warning');
|
||||
}
|
||||
}
|
||||
|
||||
passwordChange() {
|
||||
const {
|
||||
password,
|
||||
newPassword
|
||||
newPassword,
|
||||
formState,
|
||||
onSubmitHook
|
||||
} = this.state;
|
||||
|
||||
if ( !validatePassword(newPassword) ){
|
||||
this.showMessage(T9n.get("error.minChar").replace(/7/, Accounts.ui._options.minimumPasswordLength), 'warning');
|
||||
const errMsg = T9n.get("error.minChar").replace(/7/, Accounts.ui._options.minimumPasswordLength);
|
||||
this.showMessage(errMsg,'warning');
|
||||
onSubmitHook(errMsg,formState);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -735,9 +754,11 @@ export class LoginForm extends Tracker.Component {
|
|||
Accounts.resetPassword(token, newPassword, (error) => {
|
||||
if (error) {
|
||||
this.showMessage(T9n.get(`error.accounts.${error.reason}`) || T9n.get("Unknown error"), 'error');
|
||||
onSubmitHook(error, formState);
|
||||
}
|
||||
else {
|
||||
this.showMessage(T9n.get('info.passwordChanged'), 'success', 5000);
|
||||
onSubmitHook(null, formState);
|
||||
this.setState({ formState: STATES.PROFILE });
|
||||
Accounts._loginButtonsSession.set('resetPasswordToken', null);
|
||||
Accounts._loginButtonsSession.set('enrollAccountToken', null);
|
||||
|
@ -748,9 +769,11 @@ export class LoginForm extends Tracker.Component {
|
|||
Accounts.changePassword(password, newPassword, (error) => {
|
||||
if (error) {
|
||||
this.showMessage(T9n.get(`error.accounts.${error.reason}`) || T9n.get("Unknown error"), 'error');
|
||||
onSubmitHook(error, formState);
|
||||
}
|
||||
else {
|
||||
this.showMessage(T9n.get('info.passwordChanged'), 'success', 5000);
|
||||
onSubmitHook(null, formState);
|
||||
this.setState({ formState: STATES.PROFILE });
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue