return $c->render(
status => 409,
openapi => {
- error => 'Item is already bundled',
- key => $_->duplicate_id
+ error => 'Item is already bundled',
+ error_code => 'already_bundled',
+ key => $_->duplicate_id
}
);
}
- elsif ( ref($_) eq 'Koha::Exceptions::Item::Bundle::IsBundle' ) {
+ elsif ( ref($_) eq 'Koha::Exceptions::Item::Bundle::ItemIsCheckedOut' )
+ {
return $c->render(
- status => 400,
+ status => 409,
openapi => {
- error => 'Bundles cannot be nested'
+ error => 'Item is checked out',
+ error_code => 'checked_out'
}
);
- } elsif (ref($_) eq 'Koha::Exceptions::Item::Bundle::ItemIsCheckedOut') {
+ }
+ elsif ( ref($_) eq 'Koha::Exceptions::Checkin::FailedCheckin' ) {
return $c->render(
status => 409,
openapi => {
- error => 'Item is checked out',
- key => 'checked_out'
+ error => 'Item cannot be checked in',
+ error_code => 'failed_checkin'
}
);
- } elsif (ref($_) eq 'Koha::Exceptions::Checkin::FailedCheckin') {
+ }
+ elsif ( ref($_) eq 'Koha::Exceptions::Item::Bundle::IsBundle' ) {
return $c->render(
- status => 409,
+ status => 400,
openapi => {
- error => 'Item cannot be checked in',
- key => 'failed_checkin'
+ error => 'Bundles cannot be nested',
+ error_code => 'failed_nesting'
}
);
- } else {
+ }
+ else {
$c->unhandled_exception($_);
}
};
posting.fail(function(data) {
if ( data.status === 409 ) {
var response = data.responseJSON;
- if ( response.key === "PRIMARY" ) {
+ if ( response.error_code === 'already_bundled' ) {
$('#addResult').replaceWith('<div id="addResult" class="alert alert-warning">'+_("Warning: Item '%s' already attached").format(barcode)+'</div>');
- } else if (response.key === 'checked_out') {
+ } else if (response.error_code === 'checked_out') {
const button = $('<button type="button">')
.addClass('btn btn-xs')
.text(__('Check in and add to bundle'))
.attr('class', 'alert alert-warning')
.append(__x('Warning: Item {barcode} is checked out', { barcode }))
.append(' ', button);
- } else if (response.key === 'failed_checkin') {
+ } else if (response.error_code === 'failed_checkin') {
$('#addResult')
.empty()
.attr('class', 'alert alert-danger')
$('#addResult').replaceWith('<div id="addResult" class="alert alert-danger">'+_("Failure: Item '%s' not found").format(barcode)+'</div>');
} else if ( data.status === 400 ) {
var response = data.responseJSON;
- if ( response.error === "Bundles cannot be nested" ) {
+ if ( response.error_code === "failed_nesting" ) {
$('#addResult').replaceWith('<div id="addResult" class="alert alert-danger">'+_("Failure: Item '%s' is a bundle and bundles cannot be nested").format(barcode)+'</div>');
} else {
$('#addResult').replaceWith('<div id="addResult" class="alert alert-danger">'+_("Failure: Check the logs for details")+'</div>');