[ui] Fix a bug where redirects after planning/editing a job didn't include namespace (#13588)
* Job editing and planning handles namespace as part of ID instead of queryParam * Changelog added * Tests updated to reflect new namespace redirects
This commit is contained in:
parent
037bbe957f
commit
84a59ff059
|
@ -0,0 +1,3 @@
|
|||
```release-note:bug
|
||||
ui: Fixed an issue where editing or running a job with a namespace via the UI would throw a 404 on redirect.
|
||||
```
|
|
@ -2,6 +2,7 @@ import Controller from '@ember/controller';
|
|||
import WithNamespaceResetting from 'nomad-ui/mixins/with-namespace-resetting';
|
||||
import { alias } from '@ember/object/computed';
|
||||
import classic from 'ember-classic-decorator';
|
||||
import { inject as service } from '@ember/service';
|
||||
|
||||
@classic
|
||||
export default class DefinitionController extends Controller.extend(
|
||||
|
@ -9,6 +10,7 @@ export default class DefinitionController extends Controller.extend(
|
|||
) {
|
||||
@alias('model.job') job;
|
||||
@alias('model.definition') definition;
|
||||
@service router;
|
||||
|
||||
isEditing = false;
|
||||
|
||||
|
@ -21,9 +23,7 @@ export default class DefinitionController extends Controller.extend(
|
|||
this.set('isEditing', false);
|
||||
}
|
||||
|
||||
onSubmit(id, jobNamespace) {
|
||||
this.transitionToRoute('jobs.job', id, {
|
||||
queryParams: { jobNamespace },
|
||||
});
|
||||
onSubmit() {
|
||||
this.router.transitionTo('jobs.job', this.job.idWithNamespace);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import Controller from '@ember/controller';
|
||||
import { inject as service } from '@ember/service';
|
||||
|
||||
export default class RunController extends Controller {
|
||||
@service router;
|
||||
onSubmit(id, namespace) {
|
||||
this.transitionToRoute('jobs.job', id, {
|
||||
queryParams: { namespace },
|
||||
});
|
||||
this.router.transitionTo('jobs.job', `${id}@${namespace || 'default'}`);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -95,7 +95,7 @@ module('Acceptance | job definition', function (hooks) {
|
|||
await Definition.editor.run();
|
||||
assert.equal(
|
||||
currentURL(),
|
||||
`/jobs/${job.id}`,
|
||||
`/jobs/${job.id}@default`,
|
||||
'Now on the job overview page'
|
||||
);
|
||||
});
|
||||
|
|
|
@ -9,6 +9,7 @@ import JobRun from 'nomad-ui/tests/pages/jobs/run';
|
|||
|
||||
const newJobName = 'new-job';
|
||||
const newJobTaskGroupName = 'redis';
|
||||
const newJobNamespace = 'default';
|
||||
|
||||
let managementToken, clientToken;
|
||||
|
||||
|
@ -18,7 +19,7 @@ const jsonJob = (overrides) => {
|
|||
{},
|
||||
{
|
||||
Name: newJobName,
|
||||
Namespace: 'default',
|
||||
Namespace: newJobNamespace,
|
||||
Datacenters: ['dc1'],
|
||||
Priority: 50,
|
||||
TaskGroups: [
|
||||
|
@ -79,7 +80,7 @@ module('Acceptance | job run', function (hooks) {
|
|||
await JobRun.editor.run();
|
||||
assert.equal(
|
||||
currentURL(),
|
||||
`/jobs/${newJobName}`,
|
||||
`/jobs/${newJobName}@${newJobNamespace}`,
|
||||
`Redirected to the job overview page for ${newJobName}`
|
||||
);
|
||||
});
|
||||
|
@ -97,7 +98,7 @@ module('Acceptance | job run', function (hooks) {
|
|||
await JobRun.editor.run();
|
||||
assert.equal(
|
||||
currentURL(),
|
||||
`/jobs/${newJobName}?namespace=${newNamespace}`,
|
||||
`/jobs/${newJobName}@${newNamespace}`,
|
||||
`Redirected to the job overview page for ${newJobName} and switched the namespace to ${newNamespace}`
|
||||
);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue