Blame view

client/routes/filters.coffee 904 Bytes
d1f4dbea8   Ryan Glover   Additional README...
1
2
3
4
5
6
  ###
      Route Filters
      Filters for managing user access to application routes.
  ###
  
  # Define Filters
98c57048b   Ryan Glover   Clean up comments...
7
8
9
10
11
  ###
      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.
  ###
d1f4dbea8   Ryan Glover   Additional README...
12
  checkUserLoggedIn = ->
cabe1c46e   Ryan Glover   Add a simple sign...
13
      if not Meteor.loggingIn() and not Meteor.user()
d1f4dbea8   Ryan Glover   Additional README...
14
          Router.go '/login'
20d3831a3   Ryan Glover   Fix error in clie...
15
          @pause
d1f4dbea8   Ryan Glover   Additional README...
16

98c57048b   Ryan Glover   Clean up comments...
17
18
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.
  ###
d1f4dbea8   Ryan Glover   Additional README...
22
23
24
  userAuthenticated = ->
      if not Meteor.loggingIn() and Meteor.user()
          Router.go '/'
d1f4dbea8   Ryan Glover   Additional README...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  # Run Filters
  
  Router.onBeforeAction checkUserLoggedIn, except: [
      'signup',
      'login',
      'recover-password',
      'reset-password'
  ]
  
  Router.onBeforeAction userAuthenticated, only: [
      'signup',
      'login',
      'recover-password',
      'reset-password'
  ]