diff --git a/assets/scripts/app/controllers.coffee b/assets/scripts/app/controllers.coffee index a8c9be07..1355f8be 100644 --- a/assets/scripts/app/controllers.coffee +++ b/assets/scripts/app/controllers.coffee @@ -49,6 +49,7 @@ Travis.FirstSyncController = Em.Controller.extend isSyncing: Ember.computed.alias('user.isSyncing') Travis.IndexErrorController = Em.Controller.extend() +Travis.BuildsItemController = Em.ObjectController.extend(Travis.GithubUrlProperties) require 'controllers/accounts' require 'controllers/auth' diff --git a/assets/scripts/app/controllers/build.coffee b/assets/scripts/app/controllers/build.coffee index 6e61ab6f..c8763418 100644 --- a/assets/scripts/app/controllers/build.coffee +++ b/assets/scripts/app/controllers/build.coffee @@ -1,4 +1,4 @@ -Travis.BuildController = Ember.Controller.extend +Travis.BuildController = Ember.Controller.extend Travis.GithubUrlProperties, needs: ['repo'] repoBinding: 'controllers.repo.repo' commitBinding: 'build.commit' @@ -10,7 +10,3 @@ Travis.BuildController = Ember.Controller.extend loading: (-> @get('build.isLoading') ).property('build.isLoading') - - urlGithubCommit: (-> - Travis.Urls.githubCommit(@get('repo.slug'), @get('commit.sha')) - ).property('repo.slug', 'commit.sha') diff --git a/assets/scripts/app/controllers/builds.coffee b/assets/scripts/app/controllers/builds.coffee index 7339c3f5..1ebd215e 100644 --- a/assets/scripts/app/controllers/builds.coffee +++ b/assets/scripts/app/controllers/builds.coffee @@ -1,4 +1,6 @@ Travis.BuildsController = Em.ArrayController.extend + isPullRequestsList: false + sortAscending: false sortProperties: ['number'] diff --git a/assets/scripts/app/helpers.coffee b/assets/scripts/app/helpers.coffee index 98608e18..5c5b4f46 100644 --- a/assets/scripts/app/helpers.coffee +++ b/assets/scripts/app/helpers.coffee @@ -2,3 +2,4 @@ require 'helpers/handlebars' require 'helpers/helpers' require 'helpers/urls' require 'helpers/status_image_formatter' +require 'helpers/github_url_properties' diff --git a/assets/scripts/app/helpers/github_url_properties.coffee b/assets/scripts/app/helpers/github_url_properties.coffee new file mode 100644 index 00000000..6a19e21c --- /dev/null +++ b/assets/scripts/app/helpers/github_url_properties.coffee @@ -0,0 +1,8 @@ +Travis.GithubUrlProperties = Ember.Mixin.create + urlGithubCommit: (-> + Travis.Urls.githubCommit(@get('repo.slug'), @get('commit.sha')) + ).property('repo.slug', 'commit.sha') + + urlGithubPullRequest: (-> + Travis.Urls.githubPullRequest(@get('repo.slug'), @get('build.pullRequestNumber')) + ).property('repo.slug', 'build.pullRequestNumber') diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 2ce50a2e..44804e4a 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -195,8 +195,19 @@ Travis.AbstractBuildsRoute = Travis.Route.extend ).property('contentType') Travis.BuildsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'builds') -Travis.PullRequestsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'pull_requests') Travis.BranchesRoute = Travis.AbstractBuildsRoute.extend(contentType: 'branches') +Travis.PullRequestsRoute = Travis.AbstractBuildsRoute.extend( + contentType: 'pull_requests' + + # TODO: it would be better to have separate controller for branches and PRs list + setupController: (controller, model) -> + @_super(controller, model) + + this.controllerFor('builds').set('isPullRequestsList', true) + + deactivate: -> + this.controllerFor('builds').set('isPullRequestsList', false) +) Travis.BuildRoute = Travis.Route.extend serialize: (model, params) -> diff --git a/assets/scripts/app/templates/builds/list.hbs b/assets/scripts/app/templates/builds/list.hbs index ea2a408a..221b16eb 100644 --- a/assets/scripts/app/templates/builds/list.hbs +++ b/assets/scripts/app/templates/builds/list.hbs @@ -10,7 +10,7 @@