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..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,8 +24,9 @@ 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'}, {label: i18n._('Projects'), value: 'project'}, {label: i18n._('Schedules'), value: 'schedule'}, 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 065d466ba5..02bd972eee 100644 --- a/awx/ui/client/src/helpers/ActivityStream.js +++ b/awx/ui/client/src/helpers/ActivityStream.js @@ -34,13 +34,16 @@ export default case 'team': rtnTitle = i18n._('TEAMS'); break; + case 'notification_template': + rtnTitle = i18n._('NOTIFICATION TEMPLATES'); + break; case 'organization': rtnTitle = i18n._('ORGANIZATIONS'); break; 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 06544675c5..20bed707f2 100644 --- a/awx/ui/client/src/helpers/ApiModel.js +++ b/awx/ui/client/src/helpers/ApiModel.js @@ -39,13 +39,16 @@ export default case 'team': basePathKey = 'teams'; break; + case 'notification_template': + basePathKey = 'notification_templates'; + break; case 'organization': basePathKey = 'organizations'; break; 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', diff --git a/awx/ui/client/src/notifications/main.js b/awx/ui/client/src/notifications/main.js index ce0d04429d..808d30f447 100644 --- a/awx/ui/client/src/notifications/main.js +++ b/awx/ui/client/src/notifications/main.js @@ -81,7 +81,7 @@ angular.module('notifications', [ }, data: { activityStream: true, - activityStreamTarget: 'notification' + activityStreamTarget: 'notification_template' }, ncyBreadcrumb: { parent: 'setup', 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: