travis-web/app/routes/application.coffee
Piotr Sarnacki f4b9a3bbe2 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.
2015-07-16 15:20:19 +02:00

81 lines
2.0 KiB
CoffeeScript

`import TravisRoute from 'travis/routes/basic'`
`import config from 'travis/config/environment'`
`import BuildFaviconMixin from 'travis/mixins/build-favicon'`
Route = TravisRoute.extend BuildFaviconMixin,
needsAuth: false
beforeModel: ->
@_super.apply(this, arguments)
@get('auth').refreshUserData().then (->), =>
@get('auth').signOut()
renderTemplate: ->
if @get('config').pro
$('body').addClass('pro')
@_super.apply(this, arguments)
activate: ->
@get('stylesheetsManager').disable('dashboard')
if !config.pro
repos = @get('store').all('repo')
repos.forEach (repo) =>
@subscribeToRepo(repo)
repos.addArrayObserver(this, willChange: 'reposWillChange', didChange: 'reposDidChange')
reposWillChange: (->)
reposDidChange: (array, start, removedCount, addedCount) ->
addedRepos = array.slice(start, start + addedCount)
addedRepos.forEach (repo) =>
@subscribeToRepo(repo)
subscribeToRepo: (repo) ->
if @pusher
@pusher.subscribe "repo-#{repo.get('id')}"
title: (titleParts) ->
if titleParts.length
titleParts = titleParts.reverse()
titleParts.push('Travis CI')
titleParts.join(' - ')
else
config.defaultTitle
actions:
redirectToGettingStarted: ->
# do nothing, we handle it only in index path
renderDefaultTemplate: ->
@renderDefaultTemplate() if @renderDefaultTemplate
error: (error) ->
if error == 'needs-auth'
authController = @container.lookup('controller:auth')
authController.set('redirected', true)
@transitionTo('auth')
else
return true
renderFirstSync: ->
@transitionTo 'first_sync'
afterSignIn: ->
if transition = @auth.get('afterSignInTransition')
@auth.set('afterSignInTransition', null)
transition.retry()
else
@transitionTo('main')
afterSignOut: ->
if @get('config').pro
@transitionTo('auth')
else
@transitionTo('home')
`export default Route`