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.
# }
# 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'}){
# }
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);
}
$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();