X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=members%2Fmemberentry.pl;h=dee53c59886db9a9c99cf5c9b102644ede7b4829;hb=5d6c092921919526ade501facb1220f8a108a08f;hp=e7f07a92655d7064170e7c12b7e15f52be345511;hpb=527debf69225c5e464aeec8c4d304f1d31bf07eb;p=koha_fer diff --git a/members/memberentry.pl b/members/memberentry.pl index e7f07a9265..dee53c5988 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -110,7 +110,7 @@ if ( $input->param('add_debarment') ) { { 'dt' => dt_from_string($expiration), 'dateformat' => 'iso' } ) : undef; - AddUniqueDebarment( + AddDebarment( { borrowernumber => $borrowernumber, type => 'MANUAL', @@ -204,7 +204,6 @@ if ( $op eq 'insert' || $op eq 'modify' || $op eq 'save' || $op eq 'duplicate' ) qr/^nodouble$/, qr/^op$/, qr/^save$/, - qr/^select_roadtype$/, qr/^updtype$/, qr/^SMSnumber$/, qr/^setting_extended_patron_attributes$/, @@ -294,9 +293,14 @@ if ($op eq 'save' || $op eq 'insert'){ # If the cardnumber is blank, treat it as null. $newdata{'cardnumber'} = undef if $newdata{'cardnumber'} =~ /^\s*$/; - if (checkcardnumber($newdata{cardnumber},$newdata{borrowernumber})){ - push @errors, 'ERROR_cardnumber'; - } + if (my $error_code = checkcardnumber($newdata{cardnumber},$newdata{borrowernumber})){ + push @errors, $error_code == 1 + ? 'ERROR_cardnumber_already_exists' + : $error_code == 2 + ? 'ERROR_cardnumber_length' + : () + } + if ($newdata{dateofbirth} && $dateofbirthmandatory) { my $age = GetAge($newdata{dateofbirth}); my $borrowercategory=GetBorrowercategory($newdata{'categorycode'}); @@ -313,7 +317,7 @@ if ($op eq 'save' || $op eq 'insert'){ } if (C4::Context->preference("IndependentBranches")) { - if ($userenv && $userenv->{flags} % 2 != 1){ + unless ( C4::Context->IsSuperLibrarian() ){ $debug and print STDERR " $newdata{'branchcode'} : ".$userenv->{flags}.":".$userenv->{branch}; unless (!$newdata{'branchcode'} || $userenv->{branch} eq $newdata{'branchcode'}){ push @errors, "ERROR_branch"; @@ -348,7 +352,13 @@ if ( ($op eq 'modify' || $op eq 'insert' || $op eq 'save'|| $op eq 'duplicate') } } -if ( ( defined $input->param('SMSnumber') ) && ( $input->param('SMSnumber') ne $newdata{'mobile'} ) ) { +if ( + defined $input->param('SMSnumber') + && ( + $input->param('SMSnumber') eq "" + or $input->param('SMSnumber') ne $newdata{'mobile'} + ) +) { $newdata{smsalertnumber} = $input->param('SMSnumber'); } @@ -395,11 +405,6 @@ if ((!$nok) and $nodouble and ($op eq 'insert' or $op eq 'save')){ } } - if ($data{'organisations'}){ - # need to add the members organisations - my @orgs=split(/\|/,$data{'organisations'}); - add_member_orgs($borrowernumber,\@orgs); - } if (C4::Context->preference('ExtendedPatronAttributes') and $input->param('setting_extended_patron_attributes')) { C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, $extended_patron_attributes); } @@ -444,7 +449,7 @@ if ($nok or !$nodouble){ } if (C4::Context->preference("IndependentBranches")) { my $userenv = C4::Context->userenv; - if ($userenv->{flags} % 2 != 1 && $data{'branchcode'}){ + if ( !C4::Context->IsSuperLibrarian() && $data{'branchcode'} ) { unless ($userenv->{branch} eq $data{'branchcode'}){ print $input->redirect("/cgi-bin/koha/members/members-home.pl"); exit; @@ -543,17 +548,8 @@ if (@{$city_arrayref} ) { } } -my $default_roadtype; -$default_roadtype=$data{'streettype'} ; -my($roadtypeid,$road_type)=GetRoadTypes(); - $template->param( road_cgipopup => 1) if ($roadtypeid ); -my $roadpopup = CGI::popup_menu(-name=>'streettype', - -id => 'streettype', - -values=>$roadtypeid, - -labels=>$road_type, - -override => 1, - -default=>$default_roadtype - ); +my $roadtypes = C4::Koha::GetAuthorisedValues( 'ROADTYPE', $data{streettype} ); +$template->param( roadtypes => $roadtypes); my $default_borrowertitle = ''; unless ( $op eq 'duplicate' ) { $default_borrowertitle=$data{'title'} } @@ -623,42 +619,10 @@ if($no_categories){ $template->param(no_categories => 1); } $template->param(no_add => $no_add); -my $CGIorganisations; -my $member_of_institution; -if (C4::Context->preference("memberofinstitution")){ - my $organisations=get_institutions(); - my @orgs; - my %org_labels; - foreach my $organisation (keys %$organisations) { - push @orgs,$organisation; - $org_labels{$organisation}=$organisations->{$organisation}->{'surname'}; - } - $member_of_institution=1; - - $CGIorganisations = CGI::scrolling_list( -id => 'organisations', - -name => 'organisations', - -labels => \%org_labels, - -values => \@orgs, - -size => 5, - -multiple => 'true' - - ); -} - # -------------------------------------------------------------------------------------------------------- -my $CGIsort = buildCGIsort("Bsort1","sort1",$data{'sort1'}); -if ($CGIsort) { - $template->param(CGIsort1 => $CGIsort); -} -$template->param( sort1 => $data{'sort1'}); # shouldn't this be in an "else" statement like the 2nd one? - -$CGIsort = buildCGIsort("Bsort2","sort2",$data{'sort2'}); -if ($CGIsort) { - $template->param(CGIsort2 => $CGIsort); -} else { - $template->param( sort2 => $data{'sort2'}); -} +$template->param( sort1 => $data{'sort1'}); +$template->param( sort2 => $data{'sort2'}); if ($nok) { foreach my $error (@errors) { @@ -725,7 +689,6 @@ $template->param( ethcatpopup => $ethcatpopup, relshiploop => \@relshipdata, city_loop => $city_arrayref, - roadpopup => $roadpopup, borrotitlepopup => $borrotitlepopup, guarantorinfo => $guarantorinfo, flagloop => \@flagdata, @@ -733,8 +696,6 @@ $template->param( category_type =>$category_type, modify => $modify, nok => $nok,#flag to konw if an error - memberofinstution => $member_of_institution, - CGIorganisations => $CGIorganisations, NoUpdateLogin => $NoUpdateLogin ); @@ -745,7 +706,15 @@ if(defined($data{'contacttitle'})){ $template->param("contacttitle_" . $data{'contacttitle'} => "SELECTED"); } - + +my ( $min, $max ) = C4::Members::get_cardnumber_length(); +if ( defined $min ) { + $template->param( + minlength_cardnumber => $min, + maxlength_cardnumber => $max + ); +} + output_html_with_http_headers $input, $cookie, $template->output; sub parse_extended_patron_attributes { @@ -802,7 +771,7 @@ sub patron_attributes_form { }; if (exists $attr_hash{$attr_type->code()}) { foreach my $attr (@{ $attr_hash{$attr_type->code()} }) { - my $newentry = { map { $_ => $entry->{$_} } %$entry }; + my $newentry = { %$entry }; $newentry->{value} = $attr->{value}; $newentry->{password} = $attr->{password}; $newentry->{use_dropdown} = 0; @@ -816,7 +785,7 @@ sub patron_attributes_form { } } else { $i++; - my $newentry = { map { $_ => $entry->{$_} } %$entry }; + my $newentry = { %$entry }; if ($attr_type->authorised_value_category()) { $newentry->{use_dropdown} = 1; $newentry->{auth_val_loop} = GetAuthorisedValues($attr_type->authorised_value_category());