From 0d1f5f1e54a2569f86c254f2e2cb1fcb25f45614 Mon Sep 17 00:00:00 2001 From: Leigh Johnson Date: Mon, 11 Jul 2016 13:40:55 -0400 Subject: [PATCH 1/2] resolves kickback on #2841 --- awx/ui/client/src/lists/PortalJobs.js | 1 + .../portal-mode/portal-mode-jobs.controller.js | 16 ++++++---------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/awx/ui/client/src/lists/PortalJobs.js b/awx/ui/client/src/lists/PortalJobs.js index 49ca8a3ec2..f92497e7a4 100644 --- a/awx/ui/client/src/lists/PortalJobs.js +++ b/awx/ui/client/src/lists/PortalJobs.js @@ -43,6 +43,7 @@ export default searchable: false, filter: "longDate", key: true, + desc: true, columnClass: "col-lg-4 col-md-4 col-sm-3" } }, diff --git a/awx/ui/client/src/portal-mode/portal-mode-jobs.controller.js b/awx/ui/client/src/portal-mode/portal-mode-jobs.controller.js index d6f6a7e42c..61e43df08e 100644 --- a/awx/ui/client/src/portal-mode/portal-mode-jobs.controller.js +++ b/awx/ui/client/src/portal-mode/portal-mode-jobs.controller.js @@ -23,7 +23,8 @@ export function PortalModeJobsController($scope, $rootScope, GetBasePath, Genera $scope.iterator = list.iterator; $scope.activeFilter = 'user'; - var init = function(sort){ + var init = function(url){ + defaultUrl = url ? url : defaultUrl; view.inject(list, { id: 'portal-jobs', mode: 'edit', @@ -44,31 +45,26 @@ export function PortalModeJobsController($scope, $rootScope, GetBasePath, Genera url: defaultUrl, pageSize: pageSize }); - $scope.search (list.iterator); - if(sort) { - // hack to default to descending sort order - $scope.sort('job','finished'); - } - + $scope.search(list.iterator); }; $scope.filterUser = function(){ $scope.activeFilter = 'user'; defaultUrl = GetBasePath('jobs') + '?created_by=' + $rootScope.current_user.id; - init(true); + init(defaultUrl); }; $scope.filterAll = function(){ $scope.activeFilter = 'all'; defaultUrl = GetBasePath('jobs'); - init(true); + init(defaultUrl); }; $scope.refresh = function(){ $scope.search(list.iterator); }; - init(true); + init(); } PortalModeJobsController.$inject = ['$scope', '$rootScope', 'GetBasePath', 'generateList', 'PortalJobsList', 'SearchInit', From 985c23dbb4b2bc020153a3271345e093fda129c8 Mon Sep 17 00:00:00 2001 From: Leigh Johnson Date: Mon, 11 Jul 2016 14:29:59 -0400 Subject: [PATCH 2/2] incorporate mabashians changes in #2896 --- .../client/src/portal-mode/portal-mode-jobs.controller.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/awx/ui/client/src/portal-mode/portal-mode-jobs.controller.js b/awx/ui/client/src/portal-mode/portal-mode-jobs.controller.js index 61e43df08e..f6bd8ff9df 100644 --- a/awx/ui/client/src/portal-mode/portal-mode-jobs.controller.js +++ b/awx/ui/client/src/portal-mode/portal-mode-jobs.controller.js @@ -7,7 +7,7 @@ export function PortalModeJobsController($scope, $rootScope, GetBasePath, GenerateList, PortalJobsList, SearchInit, PaginateInit){ - var list = PortalJobsList, + var list = _.cloneDeep(PortalJobsList), view = GenerateList, // show user jobs by default defaultUrl = GetBasePath('jobs') + '?created_by=' + $rootScope.current_user.id, @@ -25,6 +25,11 @@ export function PortalModeJobsController($scope, $rootScope, GetBasePath, Genera var init = function(url){ defaultUrl = url ? url : defaultUrl; + // We need to explicitly set the lists base path so that tag searching will keep the '?created_by' + // query param when it's present. If we don't do this, then tag search will just grab the base + // path for this list (/api/v1/jobs) and lose the created_by filter + list.basePath = defaultUrl; + view.inject(list, { id: 'portal-jobs', mode: 'edit',