View | Details | Raw Unified | Return to bug 21233
Collapse All | Expand All

(-)a/Koha/Exceptions/Password.pm (-1 / +92 lines)
Line 0 Link Here
0
- 
1
package Koha::Exceptions::Password;
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it under the
6
# terms of the GNU General Public License as published by the Free Software
7
# Foundation; either version 3 of the License, or (at your option) any later
8
# version.
9
#
10
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License along
15
# with Koha; if not, write to the Free Software Foundation, Inc.,
16
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
18
use Modern::Perl;
19
20
use Exception::Class (
21
22
    'Koha::Exceptions::Password' => {
23
        description => 'Something went wrong!',
24
    },
25
    'Koha::Exceptions::Password::Invalid' => {
26
        isa => 'Koha::Exceptions::Password',
27
        description => 'Invalid password'
28
    },
29
    'Koha::Exceptions::Password::TooShort' => {
30
        isa => 'Koha::Exceptions::Password',
31
        description => 'Password is too short',
32
        fields => ['length','min_length']
33
    },
34
    'Koha::Exceptions::Password::TooWeak' => {
35
        isa => 'Koha::Exceptions::Password',
36
        description => 'Password is too weak'
37
    },
38
    'Koha::Exceptions::Password::TrailingWhitespaces' => {
39
        isa => 'Koha::Exceptions::Password',
40
        description => 'Password contains trailing whitespace(s)'
41
    }
42
);
43
44
sub full_message {
45
    my $self = shift;
46
47
    my $msg = $self->message;
48
49
    unless ( $msg) {
50
        if ( $self->isa('Koha::Exceptions::Password::TooShort') ) {
51
            $msg = sprintf("Password length (%s) is shorter than required (%s)", $self->length, $self->min_length );
52
        }
53
    }
54
55
    return $msg;
56
}
57
58
=head1 NAME
59
60
Koha::Exceptions::Password - Base class for password exceptions
61
62
=head1 Exceptions
63
64
=head2 Koha::Exceptions::Password
65
66
Generic password exception
67
68
=head2 Koha::Exceptions::Password::Invalid
69
70
The supplied password is invalid.
71
72
=head2 Koha::Exceptions::Password::TooShort
73
74
Password is too short.
75
76
=head2 Koha::Exceptions::Password::TooWeak
77
78
Password is too weak.
79
80
=head2 Koha::Exceptions::Password::TrailingWhitespaces
81
82
Password contains trailing spaces, which is forbidden.
83
84
=head1 Class methods
85
86
=head2 full_message
87
88
Overloaded method for exception stringifying.
89
90
=cut
91
92
1;

Return to bug 21233