use CGI qw ( -utf8 );
use Digest::MD5 qw( md5_base64 md5_hex );
-use JSON;
+use JSON qw( to_json );
use List::MoreUtils qw( any each_array uniq );
use String::Random qw( random_string );
-use C4::Auth;
-use C4::Output;
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_html_with_http_headers );
use C4::Context;
-use C4::Members;
+use C4::Members qw( checkcardnumber );
use C4::Form::MessagingPreferences;
use Koha::AuthUtils;
use Koha::Patrons;
use Koha::Patron::Modification;
use Koha::Patron::Modifications;
use C4::Scrubber;
-use Email::Valid;
-use Koha::DateUtils;
+use Email::Address;
+use Koha::DateUtils qw( dt_from_string output_pref );
use Koha::Libraries;
use Koha::Patron::Attribute::Types;
use Koha::Patron::Attributes;
use Koha::Patron::Modifications;
use Koha::Patron::Categories;
use Koha::Token;
-
+use Koha::AuthorisedValues;
my $cgi = CGI->new;
my $dbh = C4::Context->dbh;
foreach my $attr (@$attributes) {
my $attribute = Koha::Patron::Attribute->new($attr);
- eval {$attribute->check_unique_id};
- if ( $@ ) {
+ if ( !$attribute->unique_ok ) {
my $attr_type = Koha::Patron::Attribute::Types->find($attr->{code});
$template->param(
extended_unique_id_failed_code => $attr->{code},
}
else {
if (
- C4::Context->boolean_preference(
+ C4::Context->preference(
'PatronSelfRegistrationVerifyByEmail')
)
{
},
);
- C4::Letters::EnqueueLetter(
+ my $message_id = C4::Letters::EnqueueLetter(
{
letter => $letter,
message_transport_type => 'email',
C4::Context->preference('KohaAdminEmailAddress'),
}
);
- my $num_letters_attempted = C4::Letters::SendQueuedMessages( {
- letter_code => 'OPAC_REG_VERIFY'
- } );
+ C4::Letters::SendQueuedMessages({ message_id => $message_id });
}
else {
( $template, $borrowernumber, $cookie ) = get_template_and_user(
if ( $action eq 'create' || $action eq 'new' ) {
$mandatory_fields{'email'} = 1
- if C4::Context->boolean_preference(
+ if C4::Context->preference(
'PatronSelfRegistrationVerifyByEmail');
}
my $borrower = shift;
my @invalidFields;
if ($borrower->{'email'}) {
- unless ( Email::Valid->address($borrower->{'email'}) ) {
+ unless ( $borrower->{'email'} =~ m/$Email::Address::mailbox/ ) {
push(@invalidFields, "email");
} elsif ( C4::Context->preference("PatronSelfRegistrationEmailMustBeUnique") ) {
my $patrons_with_same_email = Koha::Patrons->search( # FIXME Should be search_limited?
delete $borrower->{'repeat_email'};
}
if ($borrower->{'emailpro'}) {
- push(@invalidFields, "emailpro") if (!Email::Valid->address($borrower->{'emailpro'}));
+ push(@invalidFields, "emailpro") if ($borrower->{'emailpro'} !~ m/$Email::Address::mailbox/);
}
if ($borrower->{'B_email'}) {
- push(@invalidFields, "B_email") if (!Email::Valid->address($borrower->{'B_email'}));
+ push(@invalidFields, "B_email") if ($borrower->{'B_email'} !~ m/$Email::Address::mailbox/);
}
if ( defined $borrower->{'password'}
and $borrower->{'password'} ne $borrower->{'password2'} )