# If the cardnumber is blank, treat it as null.
$newdata{'cardnumber'} = undef if $newdata{'cardnumber'} =~ /^\s*$/;
- if (checkcardnumber($newdata{cardnumber},$newdata{borrowernumber})){
- push @errors, 'ERROR_cardnumber';
- }
+ if (my $error_code = checkcardnumber($newdata{cardnumber},$newdata{borrowernumber})){
+ push @errors, $error_code == 1
+ ? 'ERROR_cardnumber_already_exists'
+ : $error_code == 2
+ ? 'ERROR_cardnumber_length'
+ : ()
+ }
+
if ($newdata{dateofbirth} && $dateofbirthmandatory) {
my $age = GetAge($newdata{dateofbirth});
my $borrowercategory=GetBorrowercategory($newdata{'categorycode'});
$template->param("contacttitle_" . $data{'contacttitle'} => "SELECTED");
}
-
+
+my ( $min, $max ) = C4::Members::get_cardnumber_length();
+if ( defined $min ) {
+ $template->param(
+ minlength_cardnumber => $min,
+ maxlength_cardnumber => $max
+ );
+}
+
output_html_with_http_headers $input, $cookie, $template->output;
sub parse_extended_patron_attributes {
};
if (exists $attr_hash{$attr_type->code()}) {
foreach my $attr (@{ $attr_hash{$attr_type->code()} }) {
- my $newentry = { map { $_ => $entry->{$_} } %$entry };
+ my $newentry = { %$entry };
$newentry->{value} = $attr->{value};
$newentry->{password} = $attr->{password};
$newentry->{use_dropdown} = 0;
}
} else {
$i++;
- my $newentry = { map { $_ => $entry->{$_} } %$entry };
+ my $newentry = { %$entry };
if ($attr_type->authorised_value_category()) {
$newentry->{use_dropdown} = 1;
$newentry->{auth_val_loop} = GetAuthorisedValues($attr_type->authorised_value_category());