Blame view

client/controllers/public/reset-password.js 1.53 KB
3b214be5e   Ryan Glover   Convert all Coffe...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  /*
  * Controller: Reset Password
  * Template: /client/views/public/reset-password.html
  */
  
  /*
  * Created
  */
  
  Template.resetPassword.created = function(){
    // Code to run when template is created goes here.
  }
  
  /*
  * Rendered
  */
  
  Template.resetPassword.rendered = function(){
    $('#application-reset-password').validate({
      rules: {
        newPassword: {
          required: true,
          minlength: 6
        },
        repeatNewPassword: {
          required: true,
          minlength: 6,
          equalTo: "[name='newPassword']"
        }
      },
      messages: {
        newPassword: {
          required: "Please enter a new password.",
          minlength: "Please use at least six characters."
        },
        repeatNewPassword: {
          required: "Please repeat your new password.",
          equalTo: "Your password do not match. Please try again."
        }
      },
      submitHandler: function(){
        // Grab the user's reset token and new password.
        var token    = Session.get('resetPasswordToken'),
            password = $('[name="newPassword"]').val();
  
        // Reset the user's password.
        Accounts.resetPassword(token, password, function(error){
          if(error){
            alert(error.reason);
          } else {
            Session.set('resetPasswordToken', null);
          }
        });
      }
    });
  }
  
  /*
  * Helpers
  */
  
  Template.resetPassword.helpers({
    example: function(){
      // Code to run for helper function.
    }
  });
  
  /*
  * Events
  */
  
  Template.resetPassword.events({
    'submit form': function(e){
      // Prevent form from submitting.
      e.preventDefault();
    }
  });