diff --git a/assets/scripts/app/controllers.coffee b/assets/scripts/app/controllers.coffee index ac84eb2c..cc7a6f7d 100644 --- a/assets/scripts/app/controllers.coffee +++ b/assets/scripts/app/controllers.coffee @@ -17,6 +17,7 @@ require 'controllers/build' require 'controllers/builds' require 'controllers/flash' require 'controllers/home' +require 'controllers/job' require 'controllers/profile' require 'controllers/repos' require 'controllers/repo' diff --git a/assets/scripts/app/controllers/job.coffee b/assets/scripts/app/controllers/job.coffee new file mode 100644 index 00000000..274a7555 --- /dev/null +++ b/assets/scripts/app/controllers/job.coffee @@ -0,0 +1,6 @@ +Travis.JobController = Em.Controller.extend + needs: ['repo'] + + jobBinding: 'controllers.repo.job' + repoBinding: 'controllers.repo.repo' + commitBinding: 'job.commit' diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 03122fc4..c0f4b8ea 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -382,10 +382,10 @@ Travis.Router.map -> @resource 'repo', path: '/:owner/:name', -> @route 'index', path: '/' @resource 'build', path: '/builds/:build_id' + @resource 'job', path: '/jobs/:job_id' Travis.IndexCurrentRoute = Ember.Route.extend renderTemplate: -> - @render 'repo' @render 'build', outlet: 'pane', into: 'repo' setupController: -> @@ -394,15 +394,8 @@ Travis.IndexCurrentRoute = Ember.Route.extend Travis.BuildRoute = Ember.Route.extend renderTemplate: (->) - - deserialize: (params) -> - Travis.Build.find(params.build_id) - serialize: (model, params) -> - id = if model.get - model.get('id') - else - model + id = if model.get then model.get('id') else model { build_id: id } @@ -410,8 +403,25 @@ Travis.BuildRoute = Ember.Route.extend model = Travis.Build.find(model) if model && !model.get repo = @container.lookup('controller:repo') - repo.activate('build') repo.set('build', model) + repo.activate('build') + +Travis.JobRoute = Ember.Route.extend + renderTemplate: -> + @render 'job', outlet: 'pane', into: 'repo' + + serialize: (model, params) -> + id = if model.get then model.get('id') else model + + { job_id: id } + + setupController: (controller, model) -> + model = Travis.Job.find(model) if model && !model.get + + repo = @container.lookup('controller:repo') + console.log model.toString() + repo.set('job', model) + repo.activate('job') Travis.RepoIndexRoute = Ember.Route.extend setupController: (controller, model) -> diff --git a/assets/scripts/app/templates/jobs/list.hbs b/assets/scripts/app/templates/jobs/list.hbs index a59ff266..f691fa6d 100644 --- a/assets/scripts/app/templates/jobs/list.hbs +++ b/assets/scripts/app/templates/jobs/list.hbs @@ -24,7 +24,7 @@