1 package Koha::Exceptions::Preservation;
3 # This file is part of Koha.
5 # Koha is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
10 # Koha is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with Koha; if not, see <http://www.gnu.org/licenses>.
22 use Exception::Class (
24 'Koha::Exceptions::Preservation' => {
25 isa => 'Koha::Exception',
27 'Koha::Exceptions::Preservation::MissingSettings' => {
28 isa => 'Koha::Exceptions::Preservation',
29 description => "Missing configuration settings",
30 fields => ['parameter'],
32 'Koha::Exceptions::Preservation::ItemAlreadyInTrain' => {
33 isa => 'Koha::Exceptions::Preservation',
34 description => "Cannot add item to waiting list, it is already in a non-received train",
36 'Koha::Exceptions::Preservation::ItemAlreadyInAnotherTrain' => {
37 isa => 'Koha::Exceptions::Preservation',
38 description => "Cannot add item to this train, it is already in an other non-received train",
39 fields => ['train_id'],
41 'Koha::Exceptions::Preservation::ItemNotInWaitingList' => {
42 isa => 'Koha::Exceptions::Preservation',
43 description => "Cannot add item to train, it is not in the waiting list",
45 'Koha::Exceptions::Preservation::ItemNotFound' => {
46 isa => 'Koha::Exceptions::Preservation',
47 description => "Cannot add item to train, the item does not exist",
49 'Koha::Exceptions::Preservation::CannotAddItemToClosedTrain' => {
50 isa => 'Koha::Exceptions::Preservation',
51 description => "Cannot add item to a closed train",
59 my $msg = $self->message;
62 if ( $self->isa('Koha::Exceptions::Preservation::MissingSettings') ) {
63 $msg = sprintf( "The following parameter settings is required: %s", $self->parameter );
72 Koha::Exceptions::Preservation - Exception class for the preservation module
76 =head2 Koha::Exceptions::Preservation
78 Generic Preservation exception
80 =head2 Koha::Exceptions::Preservation::MissingSettings
82 Exception to be used when the preservation module is not configured correctly
83 and a setting is missing
89 Overloaded method for exception stringifying.