Blame view

client/routes/filters.coffee 882 Bytes
d1f4dbea8   Ryan Glover   Additional README...
1
  ###
5f6f6fbb0   Ryan Glover   Clean up spacing....
2
3
    Route Filters
    Filters for managing user access to application routes.
d1f4dbea8   Ryan Glover   Additional README...
4
5
6
  ###
  
  # Define Filters
98c57048b   Ryan Glover   Clean up comments...
7
  ###
5f6f6fbb0   Ryan Glover   Clean up spacing....
8
9
10
    Filter: Check if a User is Logged In
    If a user is not logged in and attempts to go to an authenticated route,
    re-route them to the login screen.
98c57048b   Ryan Glover   Clean up comments...
11
  ###
d1f4dbea8   Ryan Glover   Additional README...
12
  checkUserLoggedIn = ->
5f6f6fbb0   Ryan Glover   Clean up spacing....
13
14
    if not Meteor.loggingIn() and not Meteor.user()
      Router.go '/login'
eeaf2c379   Ryan Glover   Bump Iron Router ...
15
16
    else
      @next()
d1f4dbea8   Ryan Glover   Additional README...
17

98c57048b   Ryan Glover   Clean up comments...
18
  ###
5f6f6fbb0   Ryan Glover   Clean up spacing....
19
20
21
    Filter: Check if a User Exists
    If a user is logged in and attempts to go to a public route, re-route
    them to the main "logged in" screen.
98c57048b   Ryan Glover   Clean up comments...
22
  ###
d1f4dbea8   Ryan Glover   Additional README...
23
  userAuthenticated = ->
5f6f6fbb0   Ryan Glover   Clean up spacing....
24
25
    if not Meteor.loggingIn() and Meteor.user()
      Router.go '/'
eeaf2c379   Ryan Glover   Bump Iron Router ...
26
27
    else
      @next()
d1f4dbea8   Ryan Glover   Additional README...
28

d1f4dbea8   Ryan Glover   Additional README...
29
  # Run Filters
d1f4dbea8   Ryan Glover   Additional README...
30
  Router.onBeforeAction checkUserLoggedIn, except: [
5f6f6fbb0   Ryan Glover   Clean up spacing....
31
32
33
34
    'signup',
    'login',
    'recover-password',
    'reset-password'
d1f4dbea8   Ryan Glover   Additional README...
35
36
37
  ]
  
  Router.onBeforeAction userAuthenticated, only: [
5f6f6fbb0   Ryan Glover   Clean up spacing....
38
39
40
41
    'signup',
    'login',
    'recover-password',
    'reset-password'
d1f4dbea8   Ryan Glover   Additional README...
42
  ]