Blame view

imports/modules/reset-password.js 1.25 KB
852bfb60e   tmcdeveloper   swap Atmosphere p...
1
2
  import $ from 'jquery';
  import 'jquery-validation';
7df77f0fa   tmcdeveloper   finish wiring up ...
3
  import { browserHistory } from 'react-router';
852bfb60e   tmcdeveloper   swap Atmosphere p...
4
  import { getInputValue } from './get-input-value';
7df77f0fa   tmcdeveloper   finish wiring up ...
5

f0c912bf1   tmcdeveloper   add method tests ...
6
7
  let component;
  let token;
7df77f0fa   tmcdeveloper   finish wiring up ...
8
9
  
  const _handleReset = () => {
f0c912bf1   tmcdeveloper   add method tests ...
10
11
12
13
    const password = getInputValue(component, 'newPassword', true);
    Accounts.resetPassword(token, password, (error) => {
      if (error) {
        Bert.alert(error.reason, 'danger');
7df77f0fa   tmcdeveloper   finish wiring up ...
14
      } else {
f0c912bf1   tmcdeveloper   add method tests ...
15
16
        browserHistory.push('/');
        Bert.alert('Password reset!', 'success');
7df77f0fa   tmcdeveloper   finish wiring up ...
17
18
19
20
21
      }
    });
  };
  
  const _validate = () => {
f0c912bf1   tmcdeveloper   add method tests ...
22
    $(component.refs.resetPassword).validate({
7df77f0fa   tmcdeveloper   finish wiring up ...
23
24
25
      rules: {
        newPassword: {
          required: true,
f0c912bf1   tmcdeveloper   add method tests ...
26
          minlength: 6,
7df77f0fa   tmcdeveloper   finish wiring up ...
27
28
29
30
        },
        repeatNewPassword: {
          required: true,
          minlength: 6,
f0c912bf1   tmcdeveloper   add method tests ...
31
32
          equalTo: '[name="newPassword"]',
        },
7df77f0fa   tmcdeveloper   finish wiring up ...
33
34
35
      },
      messages: {
        newPassword: {
f0c912bf1   tmcdeveloper   add method tests ...
36
37
          required: 'Enter a new password, please.',
          minlength: 'Use at least six characters, please.',
7df77f0fa   tmcdeveloper   finish wiring up ...
38
39
        },
        repeatNewPassword: {
f0c912bf1   tmcdeveloper   add method tests ...
40
41
42
          required: 'Repeat your new password, please.',
          equalTo: 'Hmm, your passwords don\'t match. Try again?',
        },
7df77f0fa   tmcdeveloper   finish wiring up ...
43
      },
f0c912bf1   tmcdeveloper   add method tests ...
44
      submitHandler() { _handleReset(); },
7df77f0fa   tmcdeveloper   finish wiring up ...
45
46
    });
  };
f0c912bf1   tmcdeveloper   add method tests ...
47
  export const handleResetPassword = (options) => {
7df77f0fa   tmcdeveloper   finish wiring up ...
48
    component = options.component;
f0c912bf1   tmcdeveloper   add method tests ...
49
    token = options.token;
7df77f0fa   tmcdeveloper   finish wiring up ...
50
51
    _validate();
  };