package Koha::Exceptions::Patron; use Modern::Perl; use Koha::Exception; use Exception::Class ( 'Koha::Exceptions::Patron' => { isa => 'Koha::Exception', }, 'Koha::Exceptions::Patron::MissingEmailAddress' => { description => "Patron has no email address", }, 'Koha::Exceptions::Patron::FailedDelete' => { isa => 'Koha::Exceptions::Patron', description => "Deleting patron failed" }, 'Koha::Exceptions::Patron::FailedAnonymizing' => { isa => 'Koha::Exceptions::Patron', description => "Anonymizing patron reading history failed" }, 'Koha::Exceptions::Patron::FailedDeleteAnonymousPatron' => { isa => 'Koha::Exceptions::Patron', description => "Deleting patron failed, AnonymousPatron is not deletable" }, 'Koha::Exceptions::Patron::FailedDeleteProtectedPatron' => { isa => 'Koha::Exceptions::Patron', description => "Deleting patron failed, patron is protected" }, 'Koha::Exceptions::Patron::InvalidUserid' => { isa => 'Koha::Exceptions::Patron', description => 'Field userid is not valid (probably not unique)', fields => ['userid'], }, 'Koha::Exceptions::Patron::MissingMandatoryExtendedAttribute' => { isa => 'Koha::Exceptions::Patron', description => "Mandatory extended attribute missing", fields => ['type'] }, 'Koha::Exceptions::Patron::NotFound' => { isa => 'Koha::Exceptions::Patron', description => "Patron not found" }, ); 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;