Router changes for new ember.js
This commit is contained in:
parent
f374feae32
commit
99c3ad770c
|
@ -66,7 +66,8 @@
|
||||||
@set('state', 'signed-in')
|
@set('state', 'signed-in')
|
||||||
Travis.setLocale(data.user.locale || Travis.default_locale)
|
Travis.setLocale(data.user.locale || Travis.default_locale)
|
||||||
Travis.trigger('user:signed_in', data.user)
|
Travis.trigger('user:signed_in', data.user)
|
||||||
Travis.__container__.lookup('router:main').send('afterSignIn', @readAfterSignInPath())
|
if path = @readAfterSignInPath()
|
||||||
|
Travis.__container__.lookup('router:main').send('afterSignIn', path)
|
||||||
|
|
||||||
storeData: (data, storage) ->
|
storeData: (data, storage) ->
|
||||||
storage.setItem('travis.token', data.token)
|
storage.setItem('travis.token', data.token)
|
||||||
|
|
|
@ -6,24 +6,39 @@ Travis.DontSetupModelForControllerMixin = Ember.Mixin.create
|
||||||
# this can be remove when this patch will be merged https://github.com/emberjs/ember.js/pull/2044
|
# this can be remove when this patch will be merged https://github.com/emberjs/ember.js/pull/2044
|
||||||
# this will allow us to override setting up model for a controller
|
# this will allow us to override setting up model for a controller
|
||||||
setup: (context) ->
|
setup: (context) ->
|
||||||
@redirected = false
|
isTop = undefined
|
||||||
|
unless @_redirected
|
||||||
|
isTop = true
|
||||||
|
@_redirected = []
|
||||||
|
|
||||||
@_checkingRedirect = true
|
@_checkingRedirect = true
|
||||||
|
depth = ++@_redirectDepth
|
||||||
|
|
||||||
@redirect(context)
|
if context is `undefined`
|
||||||
|
@redirect()
|
||||||
|
else
|
||||||
|
@redirect context
|
||||||
|
|
||||||
|
@_redirectDepth--
|
||||||
@_checkingRedirect = false
|
@_checkingRedirect = false
|
||||||
if @redirected
|
|
||||||
return false
|
redirected = @_redirected
|
||||||
|
|
||||||
|
@_redirected = null if isTop
|
||||||
|
|
||||||
|
return false if redirected[depth]
|
||||||
|
|
||||||
controller = @controllerFor(@routeName, context)
|
controller = @controllerFor(@routeName, context)
|
||||||
|
|
||||||
@setupController(controller, context)
|
@setupController controller, context
|
||||||
@renderTemplate(controller, context);
|
@renderTemplate controller, context
|
||||||
|
|
||||||
Ember.Router.reopen
|
Ember.Router.reopen
|
||||||
location: (if testMode? then Ember.NoneLocation.create() else Travis.Location.create())
|
location: (if testMode? then Ember.NoneLocation.create() else Travis.Location.create())
|
||||||
|
|
||||||
handleURL: (url) ->
|
handleURL: (url) ->
|
||||||
|
Travis.autoSignIn() unless Travis.__container__.lookup('controller:currentUser').get('content')
|
||||||
|
|
||||||
url = url.replace(/#.*?$/, '')
|
url = url.replace(/#.*?$/, '')
|
||||||
try
|
try
|
||||||
@_super(url)
|
@_super(url)
|
||||||
|
@ -49,11 +64,12 @@ Ember.Route.reopen
|
||||||
@controllerFor('currentUser').get('content')
|
@controllerFor('currentUser').get('content')
|
||||||
|
|
||||||
redirect: ->
|
redirect: ->
|
||||||
|
Travis.autoSignIn() unless @signedIn()
|
||||||
|
|
||||||
if @get('needsAuth')
|
if @get('needsAuth')
|
||||||
@authorize(@router.location.getURL())
|
@authorize(@router.location.getURL())
|
||||||
else
|
else
|
||||||
@_super.apply this, arguments
|
@_super.apply this, arguments
|
||||||
Travis.autoSignIn() unless @signedIn()
|
|
||||||
|
|
||||||
authorize: (path) ->
|
authorize: (path) ->
|
||||||
if !@signedIn()
|
if !@signedIn()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user