From 8042c6ec19df140de7daae639bb45975526ea294 Mon Sep 17 00:00:00 2001 From: stan Date: Tue, 23 Dec 2008 22:06:10 -0500 Subject: [PATCH] Added 'warnings' support, fixed bug 2870. Signed-off-by: Galen Charlton --- members/memberentry.pl | 45 +++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/members/memberentry.pl b/members/memberentry.pl index 133eefb13e..5609d84bd6 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -19,7 +19,7 @@ # pragma use strict; -# use warnings; # FIXME: really. +use warnings; # FIXME: really. # external modules use CGI; @@ -99,7 +99,7 @@ foreach (@field_check) { $template->param( "mandatory$_" => 1); } $template->param("add"=>1) if ($op eq 'add'); -$template->param("checked" => 1) if ($nodouble eq 1); +$template->param("checked" => 1) if (defined($nodouble) && $nodouble eq 1); ($borrower_data = GetMember($borrowernumber,'borrowernumber')) if ($op eq 'modify' or $op eq 'save'); my $categorycode = $input->param('categorycode') || $borrower_data->{'categorycode'}; my $category_type = $input->param('category_type'); @@ -165,10 +165,10 @@ if (($op eq 'insert') and !$nodouble){ } #recover all data from guarantor address phone ,fax... -if (($category_type eq 'C' || $category_type eq 'P') and $guarantorid ne '' ){ +if (defined($guarantorid) and ($category_type eq 'C' || $category_type eq 'P') and $guarantorid ne '' ){ my $guarantordata=GetMember($guarantorid); $guarantorinfo=$guarantordata->{'surname'}." , ".$guarantordata->{'firstname'}; - if (($data{'contactname'} eq '' or $data{'contactname'} ne $guarantordata->{'surname'})) { + if (!defined($data{'contactname'}) or $data{'contactname'} eq '' or $data{'contactname'} ne $guarantordata->{'surname'}) { $data{'contactfirstname'}= $guarantordata->{'firstname'}; $data{'contactname'} = $guarantordata->{'surname'}; $data{'contacttitle'} = $guarantordata->{'title'}; @@ -179,7 +179,7 @@ if (($category_type eq 'C' || $category_type eq 'P') and $guarantorid ne '' ){ } ###############test to take the right zipcode and city name ############## -if ($guarantorid eq '') { +if (!defined($guarantorid) or $guarantorid eq '') { # set only if parameter was passed from the form $newdata{'city'} = $input->param('city') if defined($input->param('city')); $newdata{'zipcode'} = $input->param('zipcode') if defined($input->param('zipcode')); @@ -333,8 +333,10 @@ if ($op eq "modify") { } # my $cardnumber=$data{'cardnumber'}; $data{'cardnumber'}=fixup_cardnumber($data{'cardnumber'}) if $op eq 'add'; -if ($data{'sex'} eq 'F'){ - $template->param(female => 1); +if(!defined($data{'sex'})){ + $template->param( none => 1); +} elsif($data{'sex'} eq 'F'){ + $template->param( female => 1); } elsif ($data{'sex'} eq 'M'){ $template->param( male => 1); } else { @@ -364,7 +366,9 @@ foreach (qw(C A S P I X)) { foreach my $cat (@$categories){ push @categoryloop,{'categorycode' => $cat, 'categoryname' => $labels->{$cat}, - 'categorycodeselected' => ($cat eq $borrower_data->{'categorycode'} || $cat eq $categorycode), + 'categorycodeselected' => ((defined($borrower_data->{'categorycode'}) && + $cat eq $borrower_data->{'categorycode'}) + || (defined($categorycode) && $cat eq $categorycode)), }; } my %typehash; @@ -378,7 +382,7 @@ $template->param('typeloop' => \@typeloop); # test in city $select_city=getidcity($data{'city'}) if ($guarantorid ne '0'); ($default_city=$select_city) if ($step eq 0); -if ($select_city eq '' ){ +if (!defined($select_city) or $select_city eq '' ){ $default_city = &getidcity($data{'city'}); } my($cityid); @@ -419,7 +423,7 @@ my @relshipdata; while (@relationships) { my $relship = shift @relationships || ''; my %row = ('relationship' => $relship); - if ($data{'relationship'} eq $relship) { + if (defined($data{'relationship'}) and $data{'relationship'} eq $relship) { $row{'selected'}=' selected'; } else { $row{'selected'}=''; @@ -525,7 +529,7 @@ if ($nok) { #Formatting data for display -if ($data{'dateenrolled'} eq ''){ +if (!defined($data{'dateenrolled'}) or $data{'dateenrolled'} eq ''){ $data{'dateenrolled'}=C4::Dates->today('iso'); } if (C4::Context->preference('uppercasesurnames')) { @@ -548,6 +552,7 @@ $template->param(%data); $template->param( "step_$step" => 1) if $step; # associate with step to know where u are $template->param( step => $step ) if $step; # associate with step to know where u are $template->param( debug => $debug ) if $debug; + $template->param( BorrowerMandatoryField => C4::Context->preference("BorrowerMandatoryField"),#field to test with javascript category_type => $category_type,#to know the category type of the borrower @@ -556,12 +561,12 @@ $template->param( "$category_type" => 1,# associate with step to know where u are destination => $destination,#to know wher u come from and wher u must go in redirect check_member => $check_member,#to know if the borrower already exist(=>1) or not (=>0) - flags =>$data{'flags'}, - "op$op" => 1, + "op$op" => 1); + +$template->param( nodouble => $nodouble, - borrowernumber => $borrowernumber,#register number - "contacttitle_".$data{'contacttitle'} => "SELECTED" , - guarantorid => $borrower_data ? $borrower_data->{'guarantorid'} : $guarantorid, + borrowernumber => $borrowernumber, #register number + guarantorid => (defined($borrower_data->{'guarantorid'})) ? $borrower_data->{'guarantorid'} : $guarantorid, ethcatpopup => $ethcatpopup, relshiploop => \@relshipdata, citypopup => $citypopup, @@ -579,6 +584,14 @@ $template->param( CGIorganisations => $CGIorganisations, NoUpdateLogin => $NoUpdateLogin ); + +if(defined($data{'flags'})){ + $template->param(flags=>$data{'flags'}); +} +if(defined($data{'contacttitle'})){ + $template->param("contacttitle_" . $data{'contacttitle'} => "SELECTED"); +} + output_html_with_http_headers $input, $cookie, $template->output; -- 2.20.1