Koha-clms/Koha/Exceptions/Patron.pm

69 lines
1.6 KiB
Perl

package Koha::Exceptions::Patron;
use Modern::Perl;
use Exception::Class (
'Koha::Exceptions::Patron' => {
description => "Something went wrong!"
},
'Koha::Exceptions::Patron::FailedDelete' => {
isa => 'Koha::Exceptions::Patron',
description => "Deleting patron failed"
},
'Koha::Exceptions::Patron::FailedDeleteAnonymousPatron' => {
isa => 'Koha::Exceptions::Patron',
description => "Deleting patron failed, AnonymousPatron is not deleteable"
},
'Koha::Exceptions::Patron::MissingMandatoryExtendedAttribute' => {
isa => 'Koha::Exceptions::Patron',
description => "Mandatory extended attribute missing",
fields => ['type']
}
);
sub full_message {
my $self = shift;
my $msg = $self->message;
unless ( $msg) {
if ( $self->isa('Koha::Exceptions::Patron::MissingMandatoryExtendedAttribute') ) {
$msg = sprintf("Missing mandatory extended attribute (type=%s)", $self->type );
}
}
return $msg;
}
=head1 NAME
Koha::Exceptions::Patron - Base class for patron exceptions
=head1 Exceptions
=head2 Koha::Exceptions::Patron
Generic patron exception.
=head2 Koha::Exceptions::Patron::FailedDelete
Deleting patron failed.
=head2 Koha::Exceptions::Patron::FailedDeleteAnonymousPatron
Tried to delete the anonymous patron.
=head2 Koha::Exceptions::Patron::MissingMandatoryExtendedAttribute
A required mandatory extended attribute is missing.
=head1 Class methods
=head2 full_message
Overloaded method for exception stringifying.
=cut
1;