mirror of
https://github.com/ansible/awx.git
synced 2026-01-12 02:19:58 -03:30
Addes a /#/jobs/schedules/:schedule_id/ route to the app
To leave user in the context of jobs/schedules when editing a schedule instead of putting them in the context of the resource they're scheduling
This commit is contained in:
parent
e04b2b7455
commit
8f3cc4ec3e
@ -1,6 +1,6 @@
|
||||
import JobsStrings from './jobs.strings';
|
||||
import jobsRoute from './routes/jobs.route';
|
||||
import { jobsSchedulesRoute } from '../../src/scheduler/schedules.route';
|
||||
import { jobsSchedulesRoute, jobsSchedulesEditRoute } from '../../src/scheduler/schedules.route';
|
||||
|
||||
const MODULE_NAME = 'at.features.jobs';
|
||||
|
||||
@ -10,6 +10,7 @@ angular
|
||||
.run(['$stateExtender', ($stateExtender) => {
|
||||
$stateExtender.addState(jobsRoute);
|
||||
$stateExtender.addState(jobsSchedulesRoute);
|
||||
$stateExtender.addState(jobsSchedulesEditRoute);
|
||||
}]);
|
||||
|
||||
export default MODULE_NAME;
|
||||
|
||||
@ -1,13 +1,14 @@
|
||||
<div ui-view="scheduler"></div>
|
||||
<div class="tab-pane" id="jobs-page">
|
||||
<at-panel ng-cloak id="htmlTemplate">
|
||||
<div>
|
||||
<div ng-hide="$state.is('jobs.schedules')">
|
||||
<div ng-hide="$state.is('jobs.schedules') || $state.is('jobs.schedules.edit')">
|
||||
<at-panel-heading hide-dismiss="true">
|
||||
<translate>JOBS</translate>
|
||||
</at-panel-heading>
|
||||
<div ui-view="jobsList"></div>
|
||||
</div>
|
||||
<div ng-hide="!$state.is('jobs.schedules')">
|
||||
<div ng-hide="!$state.is('jobs.schedules') && !$state.is('jobs.schedules.edit')">
|
||||
<at-panel-heading hide-dismiss="true">
|
||||
<translate>SCHEDULES</translate>
|
||||
</at-panel-heading>
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
import { N_ } from '../../../../../i18n';
|
||||
|
||||
export default {
|
||||
name: "inventories.edit.inventory_sources.edit",
|
||||
url: "/edit/:inventory_source_id",
|
||||
|
||||
@ -3,7 +3,6 @@ function editScheduleResolve () {
|
||||
scheduleResolve: ['Rest', '$stateParams', 'GetBasePath', 'ProcessErrors',
|
||||
(Rest, $stateParams, GetBasePath, ProcessErrors) => {
|
||||
var path = `${GetBasePath('schedules')}${parseInt($stateParams.schedule_id)}/`;
|
||||
// const path = GetBasePath('schedules') + parseInt($stateParams.schedule_id) + '/');
|
||||
Rest.setUrl(path);
|
||||
return Rest.get()
|
||||
.then(function(data) {
|
||||
|
||||
@ -144,7 +144,7 @@ export default [
|
||||
|
||||
$scope.editSchedule = function(schedule) {
|
||||
if ($state.is('jobs.schedules')){
|
||||
routeToScheduleForm(schedule, 'edit');
|
||||
$state.go('jobs.schedules.edit', {schedule_id: schedule.id});
|
||||
}
|
||||
else {
|
||||
if($state.current.name.endsWith('.add')) {
|
||||
@ -157,75 +157,6 @@ export default [
|
||||
$state.go('.edit', { schedule_id: schedule.id });
|
||||
}
|
||||
}
|
||||
|
||||
function buildStateMap(schedule){
|
||||
|
||||
let deferred = $q.defer();
|
||||
|
||||
switch(schedule.summary_fields.unified_job_template.unified_job_type){
|
||||
case 'job':
|
||||
deferred.resolve({
|
||||
name: 'templates.editJobTemplate.schedules.edit',
|
||||
params: {
|
||||
job_template_id: schedule.unified_job_template,
|
||||
schedule_id: schedule.id
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'workflow_job':
|
||||
deferred.resolve({
|
||||
name: 'templates.editWorkflowJobTemplate.schedules.edit',
|
||||
params: {
|
||||
workflow_job_template_id: schedule.unified_job_template,
|
||||
schedule_id: schedule.id
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'inventory_update':
|
||||
Rest.setUrl(schedule.related.unified_job_template);
|
||||
Rest.get().then( (res) => {
|
||||
deferred.resolve({
|
||||
name: 'inventories.edit.inventory_sources.edit.schedules.edit',
|
||||
params: {
|
||||
inventory_source_id: res.data.id,
|
||||
inventory_id: res.data.inventory,
|
||||
schedule_id: schedule.id,
|
||||
}
|
||||
});
|
||||
});
|
||||
break;
|
||||
|
||||
case 'project_update':
|
||||
deferred.resolve({
|
||||
name: 'projects.edit.schedules.edit',
|
||||
params: {
|
||||
project_id: schedule.unified_job_template,
|
||||
schedule_id: schedule.id
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'system_job':
|
||||
deferred.resolve({
|
||||
name: 'managementJobsList.schedule.edit',
|
||||
params: {
|
||||
id: schedule.unified_job_template,
|
||||
schedule_id: schedule.id
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function routeToScheduleForm(schedule){
|
||||
buildStateMap(schedule).then((state) =>{
|
||||
$state.go(state.name, state.params);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$scope.toggleSchedule = function(event, id) {
|
||||
|
||||
@ -285,7 +285,7 @@ const jobsSchedulesRoute = {
|
||||
},
|
||||
ncyBreadcrumb: {
|
||||
parent: 'jobs',
|
||||
label: N_('SCHEDULED')
|
||||
label: N_('SCHEDULES')
|
||||
},
|
||||
resolve: {
|
||||
ScheduleList: ['ScheduledJobsList', function(list){
|
||||
@ -326,6 +326,22 @@ const jobsSchedulesRoute = {
|
||||
}
|
||||
};
|
||||
|
||||
const jobsSchedulesEditRoute = {
|
||||
name: 'jobs.schedules.edit',
|
||||
route: '/:schedule_id',
|
||||
ncyBreadcrumb: {
|
||||
parent: 'jobs.schedules',
|
||||
label: "{{breadcrumb.schedule_name}}"
|
||||
},
|
||||
views: {
|
||||
'scheduler@jobs': {
|
||||
controller: 'schedulerEditController',
|
||||
templateUrl: templateUrl("scheduler/schedulerForm"),
|
||||
}
|
||||
},
|
||||
resolve: editScheduleResolve()
|
||||
};
|
||||
|
||||
export {
|
||||
jobTemplatesSchedulesListRoute,
|
||||
jobTemplatesSchedulesAddRoute,
|
||||
@ -336,5 +352,6 @@ export {
|
||||
projectsSchedulesListRoute,
|
||||
projectsSchedulesAddRoute,
|
||||
projectsSchedulesEditRoute,
|
||||
jobsSchedulesRoute
|
||||
jobsSchedulesRoute,
|
||||
jobsSchedulesEditRoute
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user