Blame view

imports/modules/login.js 1.34 KB
cac7cbc73   tmcdeveloper   4.1.0 release
1
2
  import $ from 'jquery';
  import 'jquery-validation';
7df77f0fa   tmcdeveloper   finish wiring up ...
3
  import { browserHistory } from 'react-router';
cac7cbc73   tmcdeveloper   4.1.0 release
4
5
6
  import { Meteor } from 'meteor/meteor';
  import { Bert } from 'meteor/themeteorchef:bert';
  import { getInputValue } from './get-input-value';
7df77f0fa   tmcdeveloper   finish wiring up ...
7

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

cac7cbc73   tmcdeveloper   4.1.0 release
10
11
12
  const login = () => {
    const email = getInputValue(component.refs.emailAddress);
    const password = getInputValue(component.refs.password);
0ccda7775   Ryan Glover   add support for E...
13

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