From e04b2b74557c1dfdf71a3f344a7a8e6b4a9a306e Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Mon, 14 May 2018 17:17:24 -0700 Subject: [PATCH] Fixes breadcrumbs for all the schedule states --- .../related/sources/edit/sources-edit.controller.js | 1 + .../related/sources/edit/sources-edit.route.js | 2 +- .../list/schedule/sources-schedule-edit.route.js | 4 ++-- .../src/projects/edit/projects-edit.controller.js | 1 + awx/ui/client/src/projects/main.js | 3 +++ .../src/scheduler/schedulerEdit.controller.js | 2 ++ awx/ui/client/src/scheduler/schedules.route.js | 13 +++---------- .../job-template-edit.controller.js | 1 + awx/ui/client/src/templates/main.js | 6 ++++++ .../edit-workflow/workflow-edit.controller.js | 1 + 10 files changed, 21 insertions(+), 13 deletions(-) diff --git a/awx/ui/client/src/inventories-hosts/inventories/related/sources/edit/sources-edit.controller.js b/awx/ui/client/src/inventories-hosts/inventories/related/sources/edit/sources-edit.controller.js index 104ff2574a..eb3c083cd4 100644 --- a/awx/ui/client/src/inventories-hosts/inventories/related/sources/edit/sources-edit.controller.js +++ b/awx/ui/client/src/inventories-hosts/inventories/related/sources/edit/sources-edit.controller.js @@ -33,6 +33,7 @@ export default ['$state', '$stateParams', '$scope', 'ParseVariableString', {verbosity: inventorySourceData.verbosity}); $scope.inventory_source_obj = inventorySourceData; + $scope.breadcrumb.inventory_source_name = inventorySourceData.name; if (inventorySourceData.credential) { $scope.credential_name = inventorySourceData.summary_fields.credential.name; } diff --git a/awx/ui/client/src/inventories-hosts/inventories/related/sources/edit/sources-edit.route.js b/awx/ui/client/src/inventories-hosts/inventories/related/sources/edit/sources-edit.route.js index 2402b9fb08..2663478a18 100644 --- a/awx/ui/client/src/inventories-hosts/inventories/related/sources/edit/sources-edit.route.js +++ b/awx/ui/client/src/inventories-hosts/inventories/related/sources/edit/sources-edit.route.js @@ -5,7 +5,7 @@ export default { url: "/edit/:inventory_source_id", ncyBreadcrumb: { parent: "inventories.edit.inventory_sources", - label: N_("INVENTORY SOURCES") + label: '{{breadcrumb.inventory_source_name}}' }, views: { 'groupForm@inventories': { diff --git a/awx/ui/client/src/inventories-hosts/inventories/related/sources/list/schedule/sources-schedule-edit.route.js b/awx/ui/client/src/inventories-hosts/inventories/related/sources/list/schedule/sources-schedule-edit.route.js index 52021fc34d..2c956fd6cd 100644 --- a/awx/ui/client/src/inventories-hosts/inventories/related/sources/list/schedule/sources-schedule-edit.route.js +++ b/awx/ui/client/src/inventories-hosts/inventories/related/sources/list/schedule/sources-schedule-edit.route.js @@ -5,8 +5,8 @@ export default { name: 'inventories.edit.inventory_sources.edit.schedules.edit', url: '/:schedule_id', ncyBreadcrumb: { - parent: "inventories.edit.inventory_sources.edit.schedules", - label: "{{schedule_obj.name}}" + parent: 'inventories.edit.inventory_sources.edit.schedules', + label: "{{breadcrumb.schedule_name}}" }, views: { 'scheduler@inventories': { diff --git a/awx/ui/client/src/projects/edit/projects-edit.controller.js b/awx/ui/client/src/projects/edit/projects-edit.controller.js index 2aa9434c15..8f28ac1b79 100644 --- a/awx/ui/client/src/projects/edit/projects-edit.controller.js +++ b/awx/ui/client/src/projects/edit/projects-edit.controller.js @@ -156,6 +156,7 @@ export default ['$scope', '$rootScope', '$stateParams', 'ProjectsForm', 'Rest', $scope.project_obj = data; $scope.name = data.name; + $scope.breadcrumb.project_name = data.name; $scope.$emit('projectLoaded'); Wait('stop'); }) diff --git a/awx/ui/client/src/projects/main.js b/awx/ui/client/src/projects/main.js index d8aaf9df36..144fb99b91 100644 --- a/awx/ui/client/src/projects/main.js +++ b/awx/ui/client/src/projects/main.js @@ -91,6 +91,9 @@ angular.module('Projects', []) ncyBreadcrumb: { label: N_('PROJECTS') }, + breadcrumbs: { + edit: '{{breadcrumb.project_name}}' + }, resolve: { add: projectResolve, edit: projectResolve diff --git a/awx/ui/client/src/scheduler/schedulerEdit.controller.js b/awx/ui/client/src/scheduler/schedulerEdit.controller.js index 14fcf921f7..16a4bf19cb 100644 --- a/awx/ui/client/src/scheduler/schedulerEdit.controller.js +++ b/awx/ui/client/src/scheduler/schedulerEdit.controller.js @@ -223,6 +223,8 @@ function($filter, $state, $stateParams, Wait, $scope, moment, $scope.showRRuleDetail = false; scheduler.setRRule(schedule.rrule); scheduler.setName(schedule.name); + $rootScope.breadcrumb.schedule_name = $scope.schedulerName; + $rootScope.breadcrumb[`${$scope.parentObject.type}_name`] = $scope.parentObject.name; scheduler.scope.timeZones = timezonesResolve; scheduler.scope.schedulerTimeZone = scheduleResolve.timezone; if ($scope.cleanupJob){ diff --git a/awx/ui/client/src/scheduler/schedules.route.js b/awx/ui/client/src/scheduler/schedules.route.js index 75f61ca009..00882ec03c 100644 --- a/awx/ui/client/src/scheduler/schedules.route.js +++ b/awx/ui/client/src/scheduler/schedules.route.js @@ -12,7 +12,6 @@ const jobTemplatesSchedulesListRoute = { activityStreamId: 'id' }, ncyBreadcrumb: { - parent: 'templates.editJobTemplate({job_template_id: parentObject.id})', label: N_('SCHEDULES') }, resolve: { @@ -72,7 +71,6 @@ const jobTemplatesSchedulesAddRoute = { } }, ncyBreadcrumb: { - parent: 'templates.editJobTemplate({job_template_id: parentObject.id})', label: N_('CREATE SCHEDULE') } }; @@ -87,8 +85,7 @@ const jobTemplatesSchedulesEditRoute = { } }, ncyBreadcrumb: { - parent: 'templates.editJobTemplate({job_template_id: parentObject.id})', - label: '{{schedule_obj.name}}' + label: "{{breadcrumb.schedule_name}}" }, resolve: editScheduleResolve() }; @@ -104,7 +101,6 @@ const workflowSchedulesRoute = { activityStreamId: 'id' }, ncyBreadcrumb: { - parent: 'templates.editWorkflowJobTemplate({workflow_job_template_id: parentObject.id})', label: N_('SCHEDULES') }, resolve: { @@ -164,7 +160,6 @@ const workflowSchedulesAddRoute = { } }, ncyBreadcrumb: { - parent: 'templates.editWorkflowJobTemplate({workflow_job_template_id: parentObject.id})', label: N_('CREATE SCHEDULE') } }; @@ -179,8 +174,7 @@ const workflowSchedulesEditRoute = { } }, ncyBreadcrumb: { - parent: 'templates.editWorkflowJobTemplate({workflow_job_template_id: parentObject.id})', - label: '{{schedule_obj.name}}' + label: '{{breadcrumb.schedule_name}}' }, resolve: editScheduleResolve() }; @@ -195,7 +189,6 @@ const projectsSchedulesListRoute = { activityStreamId: 'id' }, ncyBreadcrumb: { - parent: 'projects.edit({project_id: parentObject.id})', label: N_('SCHEDULES') }, resolve: { @@ -263,7 +256,7 @@ const projectsSchedulesEditRoute = { name: 'projects.edit.schedules.edit', route: '/:schedule_id', ncyBreadcrumb: { - label: '{{schedule_obj.name}}' + label: "{{breadcrumb.schedule_name}}" }, views: { 'scheduler@projects': { diff --git a/awx/ui/client/src/templates/job_templates/edit-job-template/job-template-edit.controller.js b/awx/ui/client/src/templates/job_templates/edit-job-template/job-template-edit.controller.js index a5a6a23946..85bc0882a2 100644 --- a/awx/ui/client/src/templates/job_templates/edit-job-template/job-template-edit.controller.js +++ b/awx/ui/client/src/templates/job_templates/edit-job-template/job-template-edit.controller.js @@ -278,6 +278,7 @@ export default $scope.removeLoadJobs = $scope.$on('LoadJobs', function() { $scope.job_template_obj = jobTemplateData; $scope.name = jobTemplateData.name; + $scope.breadcrumb.job_template_name = jobTemplateData.name; var fld, i; for (fld in form.fields) { if (fld !== 'extra_vars' && fld !== 'survey' && fld !== 'forks' && jobTemplateData[fld] !== null && jobTemplateData[fld] !== undefined) { diff --git a/awx/ui/client/src/templates/main.js b/awx/ui/client/src/templates/main.js index 7b05bde077..4bb8a15b49 100644 --- a/awx/ui/client/src/templates/main.js +++ b/awx/ui/client/src/templates/main.js @@ -164,6 +164,9 @@ angular.module('templates', [surveyMaker.name, jobTemplates.name, labels.name, p activityStreamTarget: 'job_template', activityStreamId: 'job_template_id' }, + breadcrumbs: { + edit: '{{breadcrumb.job_template_name}}' + }, resolve: { edit: { jobTemplateData: ['$stateParams', 'TemplatesService', 'ProcessErrors', @@ -346,6 +349,9 @@ angular.module('templates', [surveyMaker.name, jobTemplates.name, labels.name, p activityStreamTarget: 'workflow_job_template', activityStreamId: 'workflow_job_template_id' }, + breadcrumbs: { + edit: '{{breadcrumb.workflow_job_template_name}}' + }, resolve: { edit: { availableLabels: ['Rest', '$stateParams', 'GetBasePath', 'ProcessErrors', 'TemplatesService', diff --git a/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js b/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js index 4d1bc567a7..0ef57520d9 100644 --- a/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js +++ b/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js @@ -264,6 +264,7 @@ export default [ $scope.workflow_job_template_obj = workflowJobTemplateData; $scope.name = workflowJobTemplateData.name; $scope.can_edit = workflowJobTemplateData.summary_fields.user_capabilities.edit; + $scope.breadcrumb.workflow_job_template_name = $scope.name; let fld, i; for (fld in form.fields) { if (fld !== 'variables' && fld !== 'survey' && workflowJobTemplateData[fld] !== null && workflowJobTemplateData[fld] !== undefined) {