Bug 10080 - Change system pref IndependantBranches to IndependentBranches
[srvgit] / members / memberentry.pl
index 79f1f93..b7123f2 100755 (executable)
@@ -254,7 +254,18 @@ $newdata{'country'} = $input->param('country') if defined($input->param('country
 
 #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);
@@ -281,7 +292,7 @@ if ($op eq 'save' || $op eq 'insert'){
         $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'}){
@@ -411,7 +422,7 @@ if ($nok or !$nodouble){
         $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'}){
@@ -572,7 +583,11 @@ foreach (keys(%flags)) {
 # 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'};
 }
@@ -642,8 +657,8 @@ if ( $op eq 'duplicate' ) {
     $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);
@@ -696,8 +711,6 @@ $template->param(
   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,