Blame view
imports/modules/reset-password.js
1.25 KB
852bfb60e
|
1 2 |
import $ from 'jquery'; import 'jquery-validation'; |
7df77f0fa
|
3 |
import { browserHistory } from 'react-router'; |
852bfb60e
|
4 |
import { getInputValue } from './get-input-value'; |
7df77f0fa
|
5 |
|
f0c912bf1
|
6 7 |
let component; let token; |
7df77f0fa
|
8 9 |
const _handleReset = () => { |
f0c912bf1
|
10 11 12 13 |
const password = getInputValue(component, 'newPassword', true); Accounts.resetPassword(token, password, (error) => { if (error) { Bert.alert(error.reason, 'danger'); |
7df77f0fa
|
14 |
} else { |
f0c912bf1
|
15 16 |
browserHistory.push('/'); Bert.alert('Password reset!', 'success'); |
7df77f0fa
|
17 18 19 20 21 |
} }); }; const _validate = () => { |
f0c912bf1
|
22 |
$(component.refs.resetPassword).validate({ |
7df77f0fa
|
23 24 25 |
rules: { newPassword: { required: true, |
f0c912bf1
|
26 |
minlength: 6, |
7df77f0fa
|
27 28 29 30 |
}, repeatNewPassword: { required: true, minlength: 6, |
f0c912bf1
|
31 32 |
equalTo: '[name="newPassword"]', }, |
7df77f0fa
|
33 34 35 |
}, messages: { newPassword: { |
f0c912bf1
|
36 37 |
required: 'Enter a new password, please.', minlength: 'Use at least six characters, please.', |
7df77f0fa
|
38 39 |
}, repeatNewPassword: { |
f0c912bf1
|
40 41 42 |
required: 'Repeat your new password, please.', equalTo: 'Hmm, your passwords don\'t match. Try again?', }, |
7df77f0fa
|
43 |
}, |
f0c912bf1
|
44 |
submitHandler() { _handleReset(); }, |
7df77f0fa
|
45 46 |
}); }; |
f0c912bf1
|
47 |
export const handleResetPassword = (options) => { |
7df77f0fa
|
48 |
component = options.component; |
f0c912bf1
|
49 |
token = options.token; |
7df77f0fa
|
50 51 |
_validate(); }; |