mirror of https://github.com/rancher/ui.git
Show errors better for certificates
This commit is contained in:
parent
cc3b0dfb3c
commit
78f037909a
|
|
@ -1,6 +1,6 @@
|
|||
import Ember from 'ember';
|
||||
import ApiError from 'ember-api-store/models/error';
|
||||
import Resource from 'ember-api-store/models/resource';
|
||||
import Errors from 'ui/utils/errors';
|
||||
|
||||
export default Ember.Mixin.create({
|
||||
originalModel: null,
|
||||
|
|
@ -31,26 +31,10 @@ export default Ember.Mixin.create({
|
|||
|
||||
actions: {
|
||||
error: function(err) {
|
||||
if ( err instanceof ApiError )
|
||||
if (err)
|
||||
{
|
||||
if ( err.get('status') === 422 )
|
||||
{
|
||||
this.send('apiValidationError',err);
|
||||
}
|
||||
else
|
||||
{
|
||||
var str = err.get('message');
|
||||
if ( err.get('detail') )
|
||||
{
|
||||
str += ' (' + err.get('detail') + ')';
|
||||
}
|
||||
|
||||
this.set('errors', [str]);
|
||||
}
|
||||
}
|
||||
else if (err)
|
||||
{
|
||||
this.set('errors', [err]);
|
||||
var body = Errors.stringify(err);
|
||||
this.set('errors', [body]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -58,35 +42,6 @@ export default Ember.Mixin.create({
|
|||
}
|
||||
},
|
||||
|
||||
apiValidationError: function(err) {
|
||||
var str = 'Validation failed in API:';
|
||||
var something = false;
|
||||
if ( err.get('fieldName') )
|
||||
{
|
||||
str += ' ' + err.get('fieldName');
|
||||
something = true;
|
||||
}
|
||||
|
||||
if ( err.get('detail') )
|
||||
{
|
||||
str += ' (' + err.get('detail') + ')';
|
||||
something = true;
|
||||
}
|
||||
|
||||
if ( !something )
|
||||
{
|
||||
str += ' (' + err.get('code') + ')';
|
||||
}
|
||||
|
||||
switch ( err.get('code') )
|
||||
{
|
||||
case 'NotUnique':
|
||||
str += ' is not unique'; break;
|
||||
}
|
||||
|
||||
this.set('errors', [str]);
|
||||
},
|
||||
|
||||
save: function() {
|
||||
var self = this;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import Ember from 'ember';
|
||||
import ApiError from 'ember-api-store/models/error';
|
||||
import Errors from 'ui/utils/errors';
|
||||
|
||||
export default Ember.Service.extend({
|
||||
init: function() {
|
||||
|
|
@ -39,71 +39,7 @@ export default Ember.Service.extend({
|
|||
},
|
||||
|
||||
fromError: function(title, err) {
|
||||
// @TODO centralize all this with other places that do error handling...
|
||||
var body;
|
||||
if ( typeof err === 'string' )
|
||||
{
|
||||
body = err;
|
||||
}
|
||||
else if ( err instanceof ApiError )
|
||||
{
|
||||
if ( err.get('status') === 422 )
|
||||
{
|
||||
body = 'Validation failed:';
|
||||
var something = false;
|
||||
if ( err.get('fieldName') )
|
||||
{
|
||||
body += ' ' + err.get('fieldName');
|
||||
something = true;
|
||||
}
|
||||
|
||||
if ( err.get('detail') )
|
||||
{
|
||||
body += ' (' + err.get('detail') + ')';
|
||||
something = true;
|
||||
}
|
||||
|
||||
if ( !something )
|
||||
{
|
||||
body += ' (' + err.get('code') + ')';
|
||||
}
|
||||
|
||||
switch ( err.get('code') )
|
||||
{
|
||||
case 'NotUnique':
|
||||
body += ' is not unique'; break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
body =err.get('message');
|
||||
if ( err.get('detail') )
|
||||
{
|
||||
body += ' (' + err.get('detail') + ')';
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( typeof err === 'object' )
|
||||
{
|
||||
if ( err.message )
|
||||
{
|
||||
body = err.message;
|
||||
if ( err.detail )
|
||||
{
|
||||
body += ' (' + err.detail + ')';
|
||||
}
|
||||
}
|
||||
else if ( err.detail )
|
||||
{
|
||||
body = err.detail;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Good luck...
|
||||
body = err;
|
||||
}
|
||||
|
||||
var body = Errors.stringify(err);
|
||||
this.error(title,body);
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,94 @@
|
|||
import ApiError from 'ember-api-store/models/error';
|
||||
|
||||
export default {
|
||||
stringify(err) {
|
||||
var str;
|
||||
if ( typeof err === 'string' )
|
||||
{
|
||||
str = err;
|
||||
}
|
||||
else if ( err instanceof ApiError )
|
||||
{
|
||||
if ( err.get('status') === 422 )
|
||||
{
|
||||
str = 'Validation failed in API:';
|
||||
var something = false;
|
||||
if ( err.get('fieldName') )
|
||||
{
|
||||
str += ' ' + err.get('fieldName');
|
||||
something = true;
|
||||
}
|
||||
|
||||
if ( err.get('detail') )
|
||||
{
|
||||
str += ' (' + err.get('detail') + ')';
|
||||
something = true;
|
||||
}
|
||||
|
||||
if ( !something )
|
||||
{
|
||||
if ( err.get('message') )
|
||||
{
|
||||
str += ' ' + err.get('message');
|
||||
something = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !something )
|
||||
{
|
||||
str += ' (' + err.get('code') + ')';
|
||||
}
|
||||
|
||||
switch ( err.get('code') )
|
||||
{
|
||||
case 'NotUnique':
|
||||
str += ' is not unique'; break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
str = err.get('message');
|
||||
if ( err.get('detail') )
|
||||
{
|
||||
if ( str )
|
||||
{
|
||||
str += ' (' + err.get('detail') + ')';
|
||||
}
|
||||
else
|
||||
{
|
||||
str = err.get('detail');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( typeof err === 'object' )
|
||||
{
|
||||
if ( err.message )
|
||||
{
|
||||
str = err.message;
|
||||
if ( err.detail )
|
||||
{
|
||||
if ( str )
|
||||
{
|
||||
str += ' (' + err.detail + ')';
|
||||
}
|
||||
else
|
||||
{
|
||||
str = err.detail;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( err.detail )
|
||||
{
|
||||
str = err.detail;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Good luck...
|
||||
str = err;
|
||||
}
|
||||
|
||||
return str;
|
||||
},
|
||||
};
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "ui",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.0",
|
||||
"private": true,
|
||||
"directories": {
|
||||
"doc": "doc",
|
||||
|
|
|
|||
Loading…
Reference in New Issue