Tweaking holds screen, trying to get additional patron information to show up in...
[koha_fer] / members / memberentry.pl
index 5665b9a..e5fe443 100755 (executable)
@@ -101,11 +101,12 @@ $category_type="A" unless $category_type; # FIXME we should display a error mess
 
 my %newdata;
 if ($op eq 'insert' || $op eq 'modify' || $op eq 'save') {
-  my @names=($borrower_data?keys %$borrower_data:$input->param());
-  foreach my $key (@names){
-    $newdata{$key}=$input->param($key)||'';
-    $newdata{$key}=~ s/\"/"/gg unless $key eq 'borrowernotes' or $key eq 'opacnote';
-  }
+    
+    my @names= $borrower_data && $op ne 'save' ? keys %$borrower_data : $input->param();
+    foreach my $key (@names) {
+        $newdata{$key} = $input->param($key) || '';
+        $newdata{$key} =~ s/\"/"/gg unless $key eq 'borrowernotes' or $key eq 'opacnote';
+    }
 
 
   # WARN : some tests must be done whatever the step, because the librarian can click on any tab.
@@ -166,12 +167,12 @@ if ($op eq 'insert' || $op eq 'modify' || $op eq 'save') {
 #   }
 # STEP 3
   if ($op eq 'insert'){
-    # this value show if the login and password are been used
-    my $loginexist=checkuserpassword($borrowernumber,$data{'userid'},$data{'password'});
-    # test to know if u must save or create the borrowers
-    if ($loginexist) {
-      push @errors, "ERROR_login_exist";
-      $nok=1;
+         my $loginexist;
+         # Check if the userid is unique
+         if ( !Check_Userid($data{'userid'},$borrowernumber)) {
+                 push @errors, "ERROR_login_exist";
+                 $loginexist = 1;
+                 $nok=1;
     } else {
       $borrowernumber = &AddMember(%newdata);
         if ($data{'organisations'}){            
@@ -210,16 +211,26 @@ if ($op eq 'insert' || $op eq 'modify' || $op eq 'save') {
 # }
 
 if ($op eq 'save'){
-  # test to know if another user have the same password and same login    
-  &ModMember(%newdata);    
-  print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
+       # test to know if another user have the same password and same login    
+       my $loginexist;                                                                                                                                      
+       # Check if the userid is unique                                                                                                                      
+       if ( !Check_Userid($data{'userid'},$borrowernumber)) {
+               push @errors, "ERROR_login_exist";
+               $loginexist = 1;
+               $nok=1;
+       }
+       if (!$loginexist){
+               &ModMember(%newdata);    
+               print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
+       }
 }
 
 if ($delete){
-  print $input->redirect("/cgi-bin/koha/deletemem.pl?member=$borrowernumber");
+       print $input->redirect("/cgi-bin/koha/deletemem.pl?member=$borrowernumber");
 }
 if ($nok){
-  $template->param( "op$op" => 1);
+  $op="add" if ($op eq "insert");
+  $op="modify" if ($op eq "save");
   %data=%newdata; 
   $template->param( updtype => ($op eq "insert"?'I':'M'),step_1=>1,step_2=>1,step_3=>1,allsteps=>1);
 } 
@@ -250,6 +261,10 @@ if ($nok){
   $data{'cardnumber'}=fixup_cardnumber($data{'cardnumber'}) if $op eq 'add';
   if ($data{'sex'} eq 'F'){
     $template->param(female => 1);
+  } elsif ($data{'sex'} eq 'M'){
+     $template->param(male => 1);
+  } else {
+     $template->param(none => 1);
   }
   my ($categories,$labels)=ethnicitycategories();