From d4134aabe3485af38472f95a5fb8fbea66d92cce Mon Sep 17 00:00:00 2001 From: jaredevantabor Date: Wed, 1 Feb 2017 21:58:51 -0800 Subject: [PATCH 1/3] fixing inventory scripts AS --- .../client/src/activity-stream/activitystream.route.js | 10 ++++++++++ awx/ui/client/src/notifications/main.js | 4 ---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/awx/ui/client/src/activity-stream/activitystream.route.js b/awx/ui/client/src/activity-stream/activitystream.route.js index 5b99ce55bd..cbd9341af8 100644 --- a/awx/ui/client/src/activity-stream/activitystream.route.js +++ b/awx/ui/client/src/activity-stream/activitystream.route.js @@ -49,6 +49,16 @@ export default { function(list, qs, $stateParams, GetBasePath) { let path = GetBasePath(list.basePath) || GetBasePath(list.name); let stateParams = $stateParams[`${list.iterator}_search`]; + + if($stateParams.target === "inventory_script"){ + stateParams.or__object1__in = 'custom_inventory_script'; + stateParams.or__object2__in = 'custom_inventory_script'; + if(stateParams.inventory_script){ + stateParams.custom_inventory_script = stateParams.inventory_script; + delete stateParams.inventory_script; + } + } + // Sending or__object1__in=null will result in an api error response so lets strip // these out. This should only be null when hitting the All Activity page. if(stateParams.or__object1__in && stateParams.or__object1__in === null) { diff --git a/awx/ui/client/src/notifications/main.js b/awx/ui/client/src/notifications/main.js index ce0d04429d..58f6e59689 100644 --- a/awx/ui/client/src/notifications/main.js +++ b/awx/ui/client/src/notifications/main.js @@ -79,10 +79,6 @@ angular.module('notifications', [ ] } }, - data: { - activityStream: true, - activityStreamTarget: 'notification' - }, ncyBreadcrumb: { parent: 'setup', label: N_('NOTIFICATIONS') From 893dd20eadcf5a0b74d458254a2dc4a632c8fea1 Mon Sep 17 00:00:00 2001 From: jaredevantabor Date: Thu, 2 Feb 2017 15:19:54 -0800 Subject: [PATCH 2/3] adding notification template activity stream --- awx/ui/client/legacy-styles/lists.less | 2 +- .../streamDropdownNav/stream-dropdown-nav.directive.js | 1 + awx/ui/client/src/helpers/ActivityStream.js | 3 +++ awx/ui/client/src/helpers/ApiModel.js | 3 +++ awx/ui/client/src/notifications/main.js | 4 ++++ awx/ui/client/src/widgets/Stream.js | 3 ++- 6 files changed, 14 insertions(+), 2 deletions(-) diff --git a/awx/ui/client/legacy-styles/lists.less b/awx/ui/client/legacy-styles/lists.less index 351bf3988b..eb0a50529b 100644 --- a/awx/ui/client/legacy-styles/lists.less +++ b/awx/ui/client/legacy-styles/lists.less @@ -167,7 +167,7 @@ table, tbody { } .List-auxActionStream { - width: 175px; + width: 200px; } .List-action:not(.ng-hide) ~ .List-action:not(.ng-hide) { diff --git a/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js b/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js index 3b3574d93b..59c2b82a3c 100644 --- a/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js +++ b/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js @@ -26,6 +26,7 @@ export default ['templateUrl', 'i18n', function(templateUrl, i18n) { {label: i18n._('Inventories'), value: 'inventory'}, {label: i18n._('Inventory Scripts'), value: 'inventory_script'}, {label: i18n._('Jobs'), value: 'job'}, + {label: i18n._('Notification Templates'), value: 'notification_template'}, {label: i18n._('Organizations'), value: 'organization'}, {label: i18n._('Projects'), value: 'project'}, {label: i18n._('Schedules'), value: 'schedule'}, diff --git a/awx/ui/client/src/helpers/ActivityStream.js b/awx/ui/client/src/helpers/ActivityStream.js index 065d466ba5..d0bb7d6fd9 100644 --- a/awx/ui/client/src/helpers/ActivityStream.js +++ b/awx/ui/client/src/helpers/ActivityStream.js @@ -34,6 +34,9 @@ export default case 'team': rtnTitle = i18n._('TEAMS'); break; + case 'notification_template': + rtnTitle = i18n._('NOTIFICATION TEMPLATES'); + break; case 'organization': rtnTitle = i18n._('ORGANIZATIONS'); break; diff --git a/awx/ui/client/src/helpers/ApiModel.js b/awx/ui/client/src/helpers/ApiModel.js index 06544675c5..a93c62d61c 100644 --- a/awx/ui/client/src/helpers/ApiModel.js +++ b/awx/ui/client/src/helpers/ApiModel.js @@ -39,6 +39,9 @@ export default case 'team': basePathKey = 'teams'; break; + case 'notification_template': + basePathKey = 'notification_templates'; + break; case 'organization': basePathKey = 'organizations'; break; diff --git a/awx/ui/client/src/notifications/main.js b/awx/ui/client/src/notifications/main.js index 58f6e59689..808d30f447 100644 --- a/awx/ui/client/src/notifications/main.js +++ b/awx/ui/client/src/notifications/main.js @@ -79,6 +79,10 @@ angular.module('notifications', [ ] } }, + data: { + activityStream: true, + activityStreamTarget: 'notification_template' + }, ncyBreadcrumb: { parent: 'setup', label: N_('NOTIFICATIONS') diff --git a/awx/ui/client/src/widgets/Stream.js b/awx/ui/client/src/widgets/Stream.js index d9b19eeca1..a41b14b462 100644 --- a/awx/ui/client/src/widgets/Stream.js +++ b/awx/ui/client/src/widgets/Stream.js @@ -76,7 +76,8 @@ angular.module('StreamWidget', ['RestServices', 'Utilities', 'StreamListDefiniti } break; case 'notification_template': - throw {name : 'NotImplementedError', message : 'activity.summary_fields to build this url not implemented yet'}; + url += `notification_templates/${obj.id}`; + break; case 'role': throw {name : 'NotImplementedError', message : 'role object management is not consolidated to a single UI view'}; default: From 0dab765b069c8db422b7e775362e8ef721b350ce Mon Sep 17 00:00:00 2001 From: jaredevantabor Date: Thu, 2 Feb 2017 16:11:20 -0800 Subject: [PATCH 3/3] fix for individual inv script --- .../client/src/activity-stream/activitystream.route.js | 10 ---------- .../streamDropdownNav/stream-dropdown-nav.directive.js | 2 +- awx/ui/client/src/bread-crumb/bread-crumb.directive.js | 4 ++++ awx/ui/client/src/helpers/ActivityStream.js | 2 +- awx/ui/client/src/helpers/ApiModel.js | 2 +- awx/ui/client/src/inventory-scripts/main.js | 2 +- 6 files changed, 8 insertions(+), 14 deletions(-) diff --git a/awx/ui/client/src/activity-stream/activitystream.route.js b/awx/ui/client/src/activity-stream/activitystream.route.js index cbd9341af8..5b99ce55bd 100644 --- a/awx/ui/client/src/activity-stream/activitystream.route.js +++ b/awx/ui/client/src/activity-stream/activitystream.route.js @@ -49,16 +49,6 @@ export default { function(list, qs, $stateParams, GetBasePath) { let path = GetBasePath(list.basePath) || GetBasePath(list.name); let stateParams = $stateParams[`${list.iterator}_search`]; - - if($stateParams.target === "inventory_script"){ - stateParams.or__object1__in = 'custom_inventory_script'; - stateParams.or__object2__in = 'custom_inventory_script'; - if(stateParams.inventory_script){ - stateParams.custom_inventory_script = stateParams.inventory_script; - delete stateParams.inventory_script; - } - } - // Sending or__object1__in=null will result in an api error response so lets strip // these out. This should only be null when hitting the All Activity page. if(stateParams.or__object1__in && stateParams.or__object1__in === null) { diff --git a/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js b/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js index 59c2b82a3c..fb90dccafe 100644 --- a/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js +++ b/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js @@ -24,7 +24,7 @@ export default ['templateUrl', 'i18n', function(templateUrl, i18n) { {label: i18n._('Credentials'), value: 'credential'}, {label: i18n._('Hosts'), value: 'host'}, {label: i18n._('Inventories'), value: 'inventory'}, - {label: i18n._('Inventory Scripts'), value: 'inventory_script'}, + {label: i18n._('Inventory Scripts'), value: 'custom_inventory_script'}, {label: i18n._('Jobs'), value: 'job'}, {label: i18n._('Notification Templates'), value: 'notification_template'}, {label: i18n._('Organizations'), value: 'organization'}, diff --git a/awx/ui/client/src/bread-crumb/bread-crumb.directive.js b/awx/ui/client/src/bread-crumb/bread-crumb.directive.js index a9e4e8bc4e..0bbe13ccd3 100644 --- a/awx/ui/client/src/bread-crumb/bread-crumb.directive.js +++ b/awx/ui/client/src/bread-crumb/bread-crumb.directive.js @@ -61,6 +61,10 @@ export default if(streamConfig.activityStreamId) { stateGoParams.id = $state.params[streamConfig.activityStreamId]; } + if(stateGoParams.target === "custom_inventory_script"){ + stateGoParams.activity_search[streamConfig.activityStreamTarget] = $state.params.inventory_script_id; + stateGoParams.id = $state.params.inventory_script_id; + } } originalRoute = $state.current; diff --git a/awx/ui/client/src/helpers/ActivityStream.js b/awx/ui/client/src/helpers/ActivityStream.js index d0bb7d6fd9..02bd972eee 100644 --- a/awx/ui/client/src/helpers/ActivityStream.js +++ b/awx/ui/client/src/helpers/ActivityStream.js @@ -43,7 +43,7 @@ export default case 'job': rtnTitle = i18n._('JOBS'); break; - case 'inventory_script': + case 'custom_inventory_script': rtnTitle = i18n._('INVENTORY SCRIPTS'); break; case 'schedule': diff --git a/awx/ui/client/src/helpers/ApiModel.js b/awx/ui/client/src/helpers/ApiModel.js index a93c62d61c..20bed707f2 100644 --- a/awx/ui/client/src/helpers/ApiModel.js +++ b/awx/ui/client/src/helpers/ApiModel.js @@ -48,7 +48,7 @@ export default case 'management_job': basePathKey = 'management_jobs'; break; - case 'inventory_script': + case 'custom_inventory_script': basePathKey = 'inventory_scripts'; break; case 'workflow_job_template': diff --git a/awx/ui/client/src/inventory-scripts/main.js b/awx/ui/client/src/inventory-scripts/main.js index f9910640a2..ba1a3fa228 100644 --- a/awx/ui/client/src/inventory-scripts/main.js +++ b/awx/ui/client/src/inventory-scripts/main.js @@ -59,7 +59,7 @@ angular.module('inventoryScripts', [ }, data: { activityStream: true, - activityStreamTarget: 'inventory_script' + activityStreamTarget: 'custom_inventory_script' }, ncyBreadcrumb: { parent: 'setup',