From 534db96a930baf1e5a5b08a1b058df5ca058d225 Mon Sep 17 00:00:00 2001 From: Michael Abashian Date: Thu, 2 Feb 2017 11:27:39 -0500 Subject: [PATCH] Fixed schedule sorting/search/pagination --- awx/ui/client/src/scheduler/main.js | 59 +++++++++++++------ .../src/scheduler/schedulerList.controller.js | 6 +- 2 files changed, 43 insertions(+), 22 deletions(-) diff --git a/awx/ui/client/src/scheduler/main.js b/awx/ui/client/src/scheduler/main.js index d1c44f6e09..05960b13d6 100644 --- a/awx/ui/client/src/scheduler/main.js +++ b/awx/ui/client/src/scheduler/main.js @@ -36,7 +36,7 @@ export default label: N_('SCHEDULES') }, resolve: { - Dataset: ['SchedulesList', 'QuerySet', '$stateParams', 'GetBasePath', + Dataset: ['ScheduleList', 'QuerySet', '$stateParams', 'GetBasePath', function(list, qs, $stateParams, GetBasePath) { let path = `${GetBasePath('job_templates')}${$stateParams.id}/schedules`; return qs.search(path, $stateParams[`${list.iterator}_search`]); @@ -58,15 +58,22 @@ export default val.reject(data); }); return val.promise; - }] + }], + ScheduleList: ['SchedulesList', 'GetBasePath', '$stateParams', + (SchedulesList, GetBasePath, $stateParams) => { + let list = _.cloneDeep(SchedulesList); + list.basePath = GetBasePath('job_templates') + $stateParams.id + '/schedules/'; + return list; + } + ] }, views: { '@': { - templateProvider: function(SchedulesList, generateList, ParentObject){ + templateProvider: function(ScheduleList, generateList, ParentObject){ // include name of parent resource in listTitle - SchedulesList.listTitle = `${ParentObject.name}
` + N_('Schedules'); + ScheduleList.listTitle = `${ParentObject.name}
` + N_('Schedules'); let html = generateList.build({ - list: SchedulesList, + list: ScheduleList, mode: 'edit' }); html = generateList.wrapPanel(html); @@ -122,7 +129,7 @@ export default label: N_('SCHEDULES') }, resolve: { - Dataset: ['SchedulesList', 'QuerySet', '$stateParams', 'GetBasePath', + Dataset: ['ScheduleList', 'QuerySet', '$stateParams', 'GetBasePath', function(list, qs, $stateParams, GetBasePath) { let path = `${GetBasePath('workflow_job_templates')}${$stateParams.id}/schedules`; return qs.search(path, $stateParams[`${list.iterator}_search`]); @@ -144,15 +151,22 @@ export default val.reject(data); }); return val.promise; - }] + }], + ScheduleList: ['SchedulesList', 'GetBasePath', '$stateParams', + (SchedulesList, GetBasePath, $stateParams) => { + let list = _.cloneDeep(SchedulesList); + list.basePath = GetBasePath('workflow_job_templates') + $stateParams.id + '/schedules/'; + return list; + } + ] }, views: { '@': { - templateProvider: function(SchedulesList, generateList, ParentObject){ + templateProvider: function(ScheduleList, generateList, ParentObject){ // include name of parent resource in listTitle - SchedulesList.listTitle = `${ParentObject.name}
` + N_('Schedules'); + ScheduleList.listTitle = `${ParentObject.name}
` + N_('Schedules'); let html = generateList.build({ - list: SchedulesList, + list: ScheduleList, mode: 'edit' }); html = generateList.wrapPanel(html); @@ -205,7 +219,7 @@ export default label: N_('SCHEDULES') }, resolve: { - Dataset: ['SchedulesList', 'QuerySet', '$stateParams', 'GetBasePath', + Dataset: ['ScheduleList', 'QuerySet', '$stateParams', 'GetBasePath', function(list, qs, $stateParams, GetBasePath) { let path = `${GetBasePath('projects')}${$stateParams.id}/schedules`; return qs.search(path, $stateParams[`${list.iterator}_search`]); @@ -227,15 +241,22 @@ export default val.reject(data); }); return val.promise; - }] + }], + ScheduleList: ['SchedulesList', 'GetBasePath', '$stateParams', + (SchedulesList, GetBasePath, $stateParams) => { + let list = _.cloneDeep(SchedulesList); + list.basePath = GetBasePath('projects') + $stateParams.id + '/schedules/'; + return list; + } + ] }, views: { '@': { - templateProvider: function(SchedulesList, generateList, ParentObject){ + templateProvider: function(ScheduleList, generateList, ParentObject){ // include name of parent resource in listTitle - SchedulesList.listTitle = `${ParentObject.name}
` + N_('Schedules'); + ScheduleList.listTitle = `${ParentObject.name}
` + N_('Schedules'); let html = generateList.build({ - list: SchedulesList, + list: ScheduleList, mode: 'edit' }); html = generateList.wrapPanel(html); @@ -293,10 +314,10 @@ export default label: N_('SCHEDULED') }, resolve: { - SchedulesList: ['ScheduledJobsList', function(list){ + ScheduleList: ['ScheduledJobsList', function(list){ return list; }], - Dataset: ['SchedulesList', 'QuerySet', '$stateParams', 'GetBasePath', + Dataset: ['ScheduleList', 'QuerySet', '$stateParams', 'GetBasePath', function(list, qs, $stateParams, GetBasePath) { let path = GetBasePath('schedules'); return qs.search(path, $stateParams[`${list.iterator}_search`]); @@ -318,9 +339,9 @@ export default }, views: { 'list@jobs': { - templateProvider: function(SchedulesList, generateList){ + templateProvider: function(ScheduleList, generateList){ let html = generateList.build({ - list: SchedulesList, + list: ScheduleList, mode: 'edit', title: false }); diff --git a/awx/ui/client/src/scheduler/schedulerList.controller.js b/awx/ui/client/src/scheduler/schedulerList.controller.js index 8652e8a2e6..c5e80ef0de 100644 --- a/awx/ui/client/src/scheduler/schedulerList.controller.js +++ b/awx/ui/client/src/scheduler/schedulerList.controller.js @@ -12,11 +12,11 @@ export default [ - '$scope', '$compile', '$location', '$stateParams', 'SchedulesList', 'Rest', + '$scope', '$compile', '$location', '$stateParams', 'ScheduleList', 'Rest', 'ProcessErrors', 'ReturnToCaller', 'ClearScope', 'GetBasePath', 'Wait', 'rbacUiControlService', 'Find', 'ToggleSchedule', 'DeleteSchedule', 'GetChoices', '$q', '$state', 'Dataset', 'ParentObject', 'UnifiedJobsOptions', function($scope, $compile, $location, $stateParams, - SchedulesList, Rest, ProcessErrors, ReturnToCaller, ClearScope, + ScheduleList, Rest, ProcessErrors, ReturnToCaller, ClearScope, GetBasePath, Wait, rbacUiControlService, Find, ToggleSchedule, DeleteSchedule, GetChoices, $q, $state, Dataset, ParentObject, UnifiedJobsOptions) { @@ -24,7 +24,7 @@ export default [ ClearScope(); var base, scheduleEndpoint, - list = SchedulesList; + list = ScheduleList; init();