diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 93dda8af..d6c0f76f 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -1,38 +1,6 @@ require 'travis/location' require 'travis/line_number_parser' -Travis.DontSetupModelForControllerMixin = Ember.Mixin.create - # I've override setup to *not* set controller's model - # 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 - setup: (context) -> - isTop = undefined - unless @_redirected - isTop = true - @_redirected = [] - - @_checkingRedirect = true - depth = ++@_redirectDepth - - if context is `undefined` - @redirect() - else - @redirect context - - @_redirectDepth-- - @_checkingRedirect = false - - redirected = @_redirected - - @_redirected = null if isTop - - return false if redirected[depth] - - controller = @controllerFor(@routeName, context) - - @setupController controller, context - @renderTemplate controller, context - Ember.Router.reopen location: (if testMode? then Ember.NoneLocation.create() else Travis.Location.create()) @@ -159,11 +127,7 @@ Travis.GettingStartedRoute = Ember.Route.extend @render 'repos', outlet: 'left' @_super.apply(this, arguments) -Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, Travis.SetupLastBuild, - renderDefaultTemplate: -> - @render 'repo' - @render 'build', outlet: 'pane', into: 'repo' - +Travis.IndexCurrentRoute = Ember.Route.extend Travis.SetupLastBuild, renderTemplate: -> @render 'repo' @render 'build', outlet: 'pane', into: 'repo' @@ -171,6 +135,7 @@ Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForController setupController: -> @_super.apply this, arguments @currentRepoDidChange() + @container.lookup('controller:repo').activate('index') @controllerFor('repos').addObserver('firstObject', this, 'currentRepoDidChange') @@ -180,7 +145,7 @@ Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForController currentRepoDidChange: -> @controllerFor('repo').set('repo', @controllerFor('repos').get('firstObject')) -Travis.AbstractBuildsRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, +Travis.AbstractBuildsRoute = Ember.Route.extend renderTemplate: -> @render 'builds', outlet: 'pane', into: 'repo' @@ -205,7 +170,7 @@ Travis.BuildsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'builds') Travis.PullRequestsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'pull_requests') Travis.BranchesRoute = Travis.AbstractBuildsRoute.extend(contentType: 'branches') -Travis.BuildRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, +Travis.BuildRoute = Ember.Route.extend renderTemplate: -> @render 'build', outlet: 'pane', into: 'repo' @@ -223,7 +188,7 @@ Travis.BuildRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, @controllerFor('build').set('build', model) repo.set('build', model) -Travis.JobRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, +Travis.JobRoute = Ember.Route.extend renderTemplate: -> @render 'job', outlet: 'pane', into: 'repo' @@ -241,7 +206,7 @@ Travis.JobRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, @controllerFor('build').set('build', model.get('build')) repo.set('build', model.get('build')) -Travis.RepoIndexRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, Travis.SetupLastBuild, +Travis.RepoIndexRoute = Ember.Route.extend Travis.SetupLastBuild, setupController: (controller, model) -> @_super.apply this, arguments @container.lookup('controller:repo').activate('current') @@ -249,7 +214,7 @@ Travis.RepoIndexRoute = Ember.Route.extend Travis.DontSetupModelForControllerMix renderTemplate: -> @render 'build', outlet: 'pane', into: 'repo' -Travis.RepoRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, +Travis.RepoRoute = Ember.Route.extend renderTemplate: -> @render 'repo' @@ -264,7 +229,7 @@ Travis.RepoRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, [owner, name] = slug.split('/') { owner: owner, name: name } - deserialize: (params) -> + model: (params) -> slug = "#{params.owner}/#{params.name}" content = Ember.Object.create slug: slug, isLoaded: false, isLoading: true proxy = Ember.ObjectProxy.create(content: content) @@ -354,7 +319,7 @@ Travis.AccountRoute = Ember.Route.extend params = { login: account.get('login') } profileController.setParams(params) - deserialize: (params) -> + model: (params) -> controller = @container.lookup('controller:accounts') account = controller.findByLogin(params.login)