Sign user out in the route after failed user request

Sign out should occur in the route after the request is performed.
Additionally, the error from refreshUserData needs to be handled in
route in order to not propagate to parent routes.
This commit is contained in:
Piotr Sarnacki 2015-07-16 12:02:57 +02:00
parent 76ca9c1eaa
commit f4b9a3bbe2
2 changed files with 7 additions and 6 deletions

View File

@ -8,7 +8,8 @@ Route = TravisRoute.extend BuildFaviconMixin,
beforeModel: ->
@_super.apply(this, arguments)
@get('auth').refreshUserData()
@get('auth').refreshUserData().then (->), =>
@get('auth').signOut()
renderTemplate: ->
if @get('config').pro

View File

@ -87,8 +87,8 @@ Auth = Ember.Object.extend
user = data.user
if user
Ajax.get "/users/#{user.id}", (data) =>
if data.user.correct_scopes
Ajax.get("/users/#{user.id}").then (data) =>
if data.user.correct_scopes && false
userRecord = @loadUser(data.user)
userRecord.get('permissions')
# if user is still signed in, update saved data
@ -98,9 +98,9 @@ Auth = Ember.Object.extend
@storeData(data, @storage)
Travis.trigger('user:refreshed', data.user)
else
@signOut()
, (status, xhr) =>
@signOut() if status == 403 || status == 404
return Ember.RSVP.Promise.reject()
else
return Ember.RSVP.Promise.resolve()
signedIn: (->
@get('state') == 'signed-in'