Blame view

imports/modules/login.js 1.32 KB
4c9b3dfc1   themeteorchef   cleaning up
1
  /* eslint-disable no-undef */
7df77f0fa   tmcdeveloper   finish wiring up ...
2
  import { browserHistory } from 'react-router';
cac7cbc73   tmcdeveloper   4.1.0 release
3
4
  import { Meteor } from 'meteor/meteor';
  import { Bert } from 'meteor/themeteorchef:bert';
4c9b3dfc1   themeteorchef   cleaning up
5
  import './validation.js';
7df77f0fa   tmcdeveloper   finish wiring up ...
6

2b1ad7917   tmcdeveloper   wip moving to Met...
7
  let component;
db5aba845   Ryan Glover   miscellaneous wor...
8

cac7cbc73   tmcdeveloper   4.1.0 release
9
  const login = () => {
23c8a4c3c   themeteorchef   remove dependency...
10
11
    const email = document.querySelector('[name="emailAddress"]').value;
    const password = document.querySelector('[name="password"]').value;
0ccda7775   Ryan Glover   add support for E...
12

f0c912bf1   tmcdeveloper   add method tests ...
13
14
15
    Meteor.loginWithPassword(email, password, (error) => {
      if (error) {
        Bert.alert(error.reason, 'warning');
c39994410   Ryan Glover   wip converting to...
16
      } else {
f0c912bf1   tmcdeveloper   add method tests ...
17
        Bert.alert('Logged in!', 'success');
cac7cbc73   tmcdeveloper   4.1.0 release
18
19
20
21
22
23
24
  
        const { location } = component.props;
        if (location.state && location.state.nextPathname) {
          browserHistory.push(location.state.nextPathname);
        } else {
          browserHistory.push('/');
        }
c39994410   Ryan Glover   wip converting to...
25
26
      }
    });
0ccda7775   Ryan Glover   add support for E...
27
  };
cac7cbc73   tmcdeveloper   4.1.0 release
28
  const validate = () => {
4c9b3dfc1   themeteorchef   cleaning up
29
    $(component.loginForm).validate({
0ccda7775   Ryan Glover   add support for E...
30
31
32
      rules: {
        emailAddress: {
          required: true,
f0c912bf1   tmcdeveloper   add method tests ...
33
          email: true,
0ccda7775   Ryan Glover   add support for E...
34
35
        },
        password: {
f0c912bf1   tmcdeveloper   add method tests ...
36
37
          required: true,
        },
0ccda7775   Ryan Glover   add support for E...
38
39
40
41
      },
      messages: {
        emailAddress: {
          required: 'Need an email address here.',
f0c912bf1   tmcdeveloper   add method tests ...
42
          email: 'Is this email address legit?',
0ccda7775   Ryan Glover   add support for E...
43
44
        },
        password: {
f0c912bf1   tmcdeveloper   add method tests ...
45
46
          required: 'Need a password here.',
        },
0ccda7775   Ryan Glover   add support for E...
47
      },
cac7cbc73   tmcdeveloper   4.1.0 release
48
      submitHandler() { login(); },
2b1ad7917   tmcdeveloper   wip moving to Met...
49
    });
0ccda7775   Ryan Glover   add support for E...
50
  };
23c8a4c3c   themeteorchef   remove dependency...
51
  export default function handleLogin(options) {
2b1ad7917   tmcdeveloper   wip moving to Met...
52
    component = options.component;
cac7cbc73   tmcdeveloper   4.1.0 release
53
    validate();
23c8a4c3c   themeteorchef   remove dependency...
54
  }