Blame view

client/routes/filters.coffee 857 Bytes
d1f4dbea8   Ryan Glover   Additional README...
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
  ###
      Route Filters
      Filters for managing user access to application routes.
  ###
  
  # Define Filters
  
  # 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.
  checkUserLoggedIn = ->
      if not Meteor.loggingIn() or Meteor.user()
          Router.go '/login'
          pause()
  
  # 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.
  userAuthenticated = ->
      if not Meteor.loggingIn() and Meteor.user()
          Router.go '/'
  
  
  # Run Filters
  
  Router.onBeforeAction checkUserLoggedIn, except: [
      'signup',
      'login',
      'recover-password',
      'reset-password'
  ]
  
  Router.onBeforeAction userAuthenticated, only: [
      'signup',
      'login',
      'recover-password',
      'reset-password'
  ]