}
}
- my $p = Koha::Patron->new( { userid => $data{userid} } );
+ my $p = Koha::Patron->new( { userid => $data{userid}, firstname => $data{firstname}, surname => $data{surname} } );
# generate a proper login if none provided
- $data{'userid'} = Generate_Userid( $data{'borrowernumber'}, $data{'firstname'}, $data{'surname'} )
+ $data{'userid'} = $p->generate_userid
if ( $data{'userid'} eq '' || ! $p->has_valid_userid );
# add expiration date if it isn't already there
$borrower_data = $patron->unblessed;
$borrower_data->{category_type} = $patron->category->category_type;
+} else {
+ $patron = Koha::Patron->new;
}
my $categorycode = $input->param('categorycode') || $borrower_data->{'categorycode'};
my $category_type = $input->param('category_type') || '';
if ( ( defined $newdata{'userid'} && $newdata{'userid'} eq '' ) || $check_BorrowerUnwantedField =~ /userid/ && !defined $data{'userid'} ) {
if ( ( defined $newdata{'firstname'} ) && ( defined $newdata{'surname'} ) ) {
# Full page edit, firstname and surname input zones are present
- $newdata{'userid'} = Generate_Userid( $borrowernumber, $newdata{'firstname'}, $newdata{'surname'} );
+ $patron->firstname($newdata{firstname});
+ $patron->surname($newdata{surname});
+ $newdata{'userid'} = $patron->generate_userid;
}
elsif ( ( defined $data{'firstname'} ) && ( defined $data{'surname'} ) ) {
# Partial page edit (access through "Details"/"Library details" tab), firstname and surname input zones are not used
# Still, if the userid field is erased, we can create a new userid with available firstname and surname
- $newdata{'userid'} = Generate_Userid( $borrowernumber, $data{'firstname'}, $data{'surname'} );
+ # FIXME clean thiscode newdata vs data is very confusing
+ $patron->firstname($data{firstname});
+ $patron->surname($data{surname});
+ $newdata{'userid'} = $patron->generate_userid;
}
else {
$newdata{'userid'} = $data{'userid'};