Blame view
imports/modules/recover-password.js
948 Bytes
4c9b3dfc1
|
1 |
/* eslint-disable no-undef */ |
cac7cbc73
|
2 3 |
import { Accounts } from 'meteor/accounts-base'; import { Bert } from 'meteor/themeteorchef:bert'; |
4c9b3dfc1
|
4 |
import './validation.js'; |
7df77f0fa
|
5 6 |
let component; |
cac7cbc73
|
7 |
const handleRecovery = () => { |
7df77f0fa
|
8 |
Accounts.forgotPassword({ |
23c8a4c3c
|
9 |
email: document.querySelector('[name="emailAddress"]').value, |
f0c912bf1
|
10 11 12 |
}, (error) => { if (error) { Bert.alert(error.reason, 'warning'); |
7df77f0fa
|
13 |
} else { |
f0c912bf1
|
14 |
Bert.alert('Check your inbox for a reset link!', 'success'); |
7df77f0fa
|
15 16 17 |
} }); }; |
cac7cbc73
|
18 |
const validate = () => { |
4c9b3dfc1
|
19 |
$(component.recoverPasswordForm).validate({ |
7df77f0fa
|
20 21 22 |
rules: { emailAddress: { required: true, |
f0c912bf1
|
23 24 |
email: true, }, |
7df77f0fa
|
25 26 27 28 |
}, messages: { emailAddress: { required: 'Need an email address here.', |
f0c912bf1
|
29 30 |
email: 'Is this email address legit?', }, |
7df77f0fa
|
31 |
}, |
cac7cbc73
|
32 |
submitHandler() { handleRecovery(); }, |
7df77f0fa
|
33 34 |
}); }; |
23c8a4c3c
|
35 |
export default function handleRecoverPassword(options) { |
7df77f0fa
|
36 |
component = options.component; |
cac7cbc73
|
37 |
validate(); |
23c8a4c3c
|
38 |
} |