#builds default userid
if ( (defined $newdata{'userid'}) && ($newdata{'userid'} eq '')){
- $newdata{'userid'} = Generate_Userid($borrowernumber, $newdata{'firstname'}, $newdata{'surname'});
+ 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'} );
+ }
+ 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'} );
+ }
+ else {
+ $newdata{'userid'} = $data{'userid'};
+ }
}
$debug and warn join "\t", map {"$_: $newdata{$_}"} qw(dateofbirth dateenrolled dateexpiry);
$newdata{'surname'} = uc($newdata{'surname'});
}
- if (C4::Context->preference("IndependantBranches")) {
+ if (C4::Context->preference("IndependentBranches")) {
if ($userenv && $userenv->{flags} % 2 != 1){
$debug and print STDERR " $newdata{'branchcode'} : ".$userenv->{flags}.":".$userenv->{branch};
unless (!$newdata{'branchcode'} || $userenv->{branch} eq $newdata{'branchcode'}){
$template->param( step_1 => 1,step_2 => 1,step_3 => 1, step_4 => 1, step_5 => 1, step_6 => 1);
}
}
-if (C4::Context->preference("IndependantBranches")) {
+if (C4::Context->preference("IndependentBranches")) {
my $userenv = C4::Context->userenv;
if ($userenv->{flags} % 2 != 1 && $data{'branchcode'}){
unless ($userenv->{branch} eq $data{'branchcode'}){
# in modify mod: userbranch value for GetBranchesLoop() comes from borrowers table
# in add mod: userbranch value come from branches table (ip correspondence)
-my $userbranch = C4::Context->userenv->{'branch'};
+my $userbranch = '';
+if (C4::Context->userenv && C4::Context->userenv->{'branch'}) {
+ $userbranch = C4::Context->userenv->{'branch'};
+}
+
if (defined ($data{'branchcode'}) and ( $op eq 'modify' || ( $op eq 'add' && $category_type eq 'C' ) )) {
$userbranch = $data{'branchcode'};
}
$data{'dateexpiry'} = GetExpiryDate( $data{'categorycode'}, $data{'dateenrolled'} );
}
if (C4::Context->preference('uppercasesurnames')) {
- $data{'surname'} =uc($data{'surname'} );
- $data{'contactname'}=uc($data{'contactname'});
+ $data{'surname'} &&= uc( $data{'surname'} );
+ $data{'contactname'} &&= uc( $data{'contactname'} );
}
$data{debarred} = C4::Overdues::CheckBorrowerDebarred($borrowernumber);
borrotitlepopup => $borrotitlepopup,
guarantorinfo => $guarantorinfo,
flagloop => \@flagdata,
- dateformat => C4::Dates->new()->visual(),
- C4::Context->preference('dateformat') => 1,
check_categorytype =>$check_categorytype,#to recover the category type with checkcategorytype function
category_type =>$category_type,
modify => $modify,