[Koha-patches] [PATCH] Added 'warnings' support, fixed bug 2870.
Stan Brinkerhoff
koha at brinkerhoff.org
Wed Dec 24 04:06:10 CET 2008
From: stan <stan at koha-dev.hsd1.vt.comcast.net>
---
members/memberentry.pl | 45 +++++++++++++++++++++++++++++----------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/members/memberentry.pl b/members/memberentry.pl
index 7bc41e8..098dd83 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;
@@ -95,7 +95,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');
@@ -159,10 +159,10 @@ if ($op eq 'insert'){
}
#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'};
@@ -173,7 +173,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'));
@@ -328,8 +328,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 {
@@ -359,7 +361,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;
@@ -373,7 +377,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);
@@ -414,7 +418,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'}='';
@@ -520,7 +524,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')) {
@@ -543,6 +547,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
@@ -551,12 +556,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,
@@ -574,6 +579,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;
--
1.5.6.5
More information about the Koha-patches
mailing list