mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 10:25:42 +03:00
Don't use generic ACL error messages
When the error is actually a 403, an ACL error is appropriate, but when it isn't, fallback on what the API returns.
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import Component from '@ember/component';
|
||||
import { task } from 'ember-concurrency';
|
||||
import { ForbiddenError } from '@ember-data/adapter/error';
|
||||
import messageFromAdapterError from 'nomad-ui/utils/message-from-adapter-error';
|
||||
import { tagName } from '@ember-decorators/component';
|
||||
import classic from 'ember-classic-decorator';
|
||||
@@ -18,15 +17,9 @@ export default class LatestDeployment extends Component {
|
||||
try {
|
||||
yield this.get('job.latestDeployment.content').promote();
|
||||
} catch (err) {
|
||||
let message = messageFromAdapterError(err);
|
||||
|
||||
if (err instanceof ForbiddenError) {
|
||||
message = 'Your ACL token does not grant permission to promote deployments.';
|
||||
}
|
||||
|
||||
this.handleError({
|
||||
title: 'Could Not Promote Deployment',
|
||||
description: message,
|
||||
description: messageFromAdapterError(err, 'promote deployments'),
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import Component from '@ember/component';
|
||||
import { task } from 'ember-concurrency';
|
||||
import { ForbiddenError } from '@ember-data/adapter/error';
|
||||
import messageFromAdapterError from 'nomad-ui/utils/message-from-adapter-error';
|
||||
import { tagName } from '@ember-decorators/component';
|
||||
import classic from 'ember-classic-decorator';
|
||||
@@ -22,7 +21,7 @@ export default class Title extends Component {
|
||||
} catch (err) {
|
||||
this.handleError({
|
||||
title: 'Could Not Stop Job',
|
||||
description: 'Your ACL token does not grant permission to stop jobs.',
|
||||
description: messageFromAdapterError(err, 'stop jobs'),
|
||||
});
|
||||
}
|
||||
})
|
||||
@@ -41,15 +40,9 @@ export default class Title extends Component {
|
||||
// Eagerly update the job status to avoid flickering
|
||||
job.set('status', 'running');
|
||||
} catch (err) {
|
||||
let message = messageFromAdapterError(err);
|
||||
|
||||
if (err instanceof ForbiddenError) {
|
||||
message = 'Your ACL token does not grant permission to stop jobs.';
|
||||
}
|
||||
|
||||
this.handleError({
|
||||
title: 'Could Not Start Job',
|
||||
description: message,
|
||||
description: messageFromAdapterError(err, 'start jobs'),
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,6 +2,7 @@ import AbstractJobPage from './abstract';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { action } from '@ember/object';
|
||||
import classic from 'ember-classic-decorator';
|
||||
import messageForError from 'nomad-ui/utils/message-from-adapter-error';
|
||||
|
||||
@classic
|
||||
export default class Periodic extends AbstractJobPage {
|
||||
@@ -11,10 +12,10 @@ export default class Periodic extends AbstractJobPage {
|
||||
|
||||
@action
|
||||
forceLaunch() {
|
||||
this.job.forcePeriodic().catch(() => {
|
||||
this.job.forcePeriodic().catch(err => {
|
||||
this.set('errorMessage', {
|
||||
title: 'Could Not Force Launch',
|
||||
description: 'Your ACL token does not grant permission to submit jobs.',
|
||||
description: messageForError(err, 'submit jobs'),
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import { task } from 'ember-concurrency';
|
||||
import Sortable from 'nomad-ui/mixins/sortable';
|
||||
import { lazyClick } from 'nomad-ui/helpers/lazy-click';
|
||||
import { watchRecord } from 'nomad-ui/utils/properties/watch';
|
||||
import messageForError from 'nomad-ui/utils/message-from-adapter-error';
|
||||
import classic from 'ember-classic-decorator';
|
||||
|
||||
@classic
|
||||
@@ -73,7 +74,7 @@ export default class IndexController extends Controller.extend(Sortable) {
|
||||
} catch (err) {
|
||||
this.set('error', {
|
||||
title: 'Could Not Stop Allocation',
|
||||
description: 'Your ACL token does not grant allocation lifecycle permissions.',
|
||||
description: messageForError(err, 'manage allocation lifecycle'),
|
||||
});
|
||||
}
|
||||
})
|
||||
@@ -85,7 +86,7 @@ export default class IndexController extends Controller.extend(Sortable) {
|
||||
} catch (err) {
|
||||
this.set('error', {
|
||||
title: 'Could Not Restart Allocation',
|
||||
description: 'Your ACL token does not grant allocation lifecycle permissions.',
|
||||
description: messageForError(err, 'manage allocation lifecycle'),
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,6 +2,7 @@ import Controller from '@ember/controller';
|
||||
import { computed as overridable } from 'ember-overridable-computed';
|
||||
import { task } from 'ember-concurrency';
|
||||
import classic from 'ember-classic-decorator';
|
||||
import messageForError from 'nomad-ui/utils/message-from-adapter-error';
|
||||
|
||||
@classic
|
||||
export default class IndexController extends Controller {
|
||||
@@ -21,7 +22,7 @@ export default class IndexController extends Controller {
|
||||
} catch (err) {
|
||||
this.set('error', {
|
||||
title: 'Could Not Restart Task',
|
||||
description: 'Your ACL token does not grant allocation lifecycle permissions.',
|
||||
description: messageForError(err, 'manage allocation lifecycle'),
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user