[Koha-cvs] koha/members memberentry.pl moremember.pl guara...

paul poulain paul at koha-fr.org
Fri Apr 14 11:32:34 CEST 2006


CVSROOT:	/cvsroot/koha
Module name:	koha
Branch: 	
Changes by:	paul poulain <tipaul at savannah.gnu.org>	06/04/14 09:32:34

Modified files:
	members        : memberentry.pl moremember.pl 
Added files:
	members        : guarantor_search.pl 

Log message:
	improvements from SAN Ouest Provence :
	* introducing a category_type into categories. It can be A (adult), C (children), P (Professionnal), I (institution/organisation).
	* each category_type has it's own forms to create members.
	* the borrowers table has been heavily modified (many fields changed), to get something more logic & readable
	* reintroducing guarantor/guanrantee system that is now independant from hardcoded C/A for categories
	* updating templates to fit template rules
	
	(see mail feb, 17 on koha-devel "new features for borrowers" for more details)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/koha/members/guarantor_search.pl?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/koha/members/memberentry.pl.diff?tr1=1.18&tr2=1.19&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/koha/koha/members/moremember.pl.diff?tr1=1.21&tr2=1.22&r1=text&r2=text

Patches:
Index: koha/members/memberentry.pl
diff -u koha/members/memberentry.pl:1.18 koha/members/memberentry.pl:1.19
--- koha/members/memberentry.pl:1.18	Wed Jan 18 17:23:32 2006
+++ koha/members/memberentry.pl	Fri Apr 14 09:32:34 2006
@@ -1,14 +1,7 @@
 #!/usr/bin/perl
-# NOTE: This file uses standard 8-space tabs
-#       DO NOT SET TAB SIZE TO 4
+# $Id: memberentry.pl,v 1.19 2006/04/14 09:32:34 tipaul Exp $
 
-# $Id: memberentry.pl,v 1.18 2006/01/18 17:23:32 tipaul Exp $
-
-#script to set up screen for modification of borrower details
-#written 20/12/99 by chris at katipo.co.nz
-
-
-# Copyright 2000-2002 Katipo Communications
+# Copyright 2006 SAN OUEST PROVENCE et Paul POULAIN
 #
 # This file is part of Koha.
 #
@@ -38,13 +31,19 @@
 use Date::Manip;
 use C4::Date;
 use C4::Input;
+use C4::Log;
+use Digest::MD5 qw(md5_base64);
 
 my $input = new CGI;
+my %data;
+
 
 my $dbh = C4::Context->dbh;
 
+my $category_type = $input->param('category_type') || die "NO CATEGORY_TYPE !"; # A, E, C, or P
+my $step=$input->param('step') || 0;
 my ($template, $loggedinuser, $cookie)
-    = get_template_and_user({template_name => "members/memberentry.tmpl",
+    = get_template_and_user({template_name => "members/memberentry$category_type.tmpl",
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
@@ -52,62 +51,147 @@
 			     debug => 1,
 			     });
 
-my $borrowernumber=$input->param('borrowernumber');
-my $actionType=$input->param('actionType') || '';
+my $borrowerid=$input->param('borrowerid');
+my $guarantorid=$input->param('guarantorid');
 my $modify=$input->param('modify');
 my $delete=$input->param('delete');
 my $op=$input->param('op');
 my $categorycode=$input->param('categorycode');
 my $destination=$input->param('destination');
+my $cardnumber=$input->param('cardnumber');
+my $check_member=$input->param('check_member');
+my $name_city=$input->param('name_city');
+my $nodouble=$input->param('nodouble');
+my $select_city=$input->param('select_city');
+my $nok=$input->param('nok');
+
+# $check_categorytype contains the value of duplicate borrowers category type to redirect in good template in step =2
+my $check_categorytype=$input->param('check_categorytype');
+# NOTE: Alert for ethnicity and ethnotes fields, they are unvalided in all borrowers form
+
+
+#function  to automatic setup the mandatory  fields (visual with css)
+my $check_BorrowerMandatoryField=C4::Context->preference("BorrowerMandatoryField");
+my @field_check=split(/\|/,$check_BorrowerMandatoryField);
+foreach (@field_check) {
+$template->param( "mandatory$_" => 1);		
+}	
+
+$template->param( "checked" => 1) if ($nodouble eq 1);
 
-my $nok;
 # if a add or modify is requested => check validity of data.
 if ($op eq 'add' or $op eq 'modify') {
-	my %data;
 	my @names=$input->param;
 	foreach my $key (@names){
-		$data{$key}=$input->param($key);
+		$data{$key}=$input->param($key)||'';
 		$data{$key}=~ s/\'/\\\'/g;
 		$data{$key}=~ s/\"/\\\"/g;
 	}
 	my @errors;
-	if ($data{'cardnumber'} eq ''){
-		push @errors,"ERROR_cardnumber";
-		$nok=1;
-	} else {
-		#check cardnumber is valid
-		my $nounique;
-		if ( $op eq "add" )    {
-			$nounique = 0;
-		} else {
-			$nounique = 1;
+	#############test for member being unique #############
+	if ($op eq 'add' && $step eq 2){
+		(my $category_type_send=$category_type ) if ($category_type eq 'I'); 
+ 		my $check_category; # recover the category code of the doublon suspect borrowers
+	   ($check_member,$check_category)= checkuniquemember($category_type_send,$data{'surname'},$data{'firstname'},format_date_in_iso($data{'dateofbirth'}));
+# 	recover the category type if the borrowers is a duplicate
+	($check_categorytype,undef)=getcategorytype($check_category);
+	}
+
+# CHECKS step by step
+# STEP 1
+	if ($step eq 1) {
+		###############test to take the right zipcode and city name ##############
+		if ($category_type ne 'I' and $guarantorid){
+			my ($borrower_city,$borrower_zipcode)=&getzipnamecity($select_city);
+			$data{'city'}= $borrower_city;
+			$data{'zipcode'}=$borrower_zipcode;
+		}
+		if ($category_type eq 'C' and $guarantorid){
+			my $guarantordata=getguarantordata($guarantorid);
+			if (($data{'contactname'} eq '' or $data{'contactname'} ne $guarantordata->{'surname'})) {
+				$data{'contactfirstname'}=$guarantordata->{'firstname'};	
+				$data{'contactname'}=$guarantordata->{'surname'};
+				$data{'contacttitle'}=$guarantordata->{'title'};
+				$data{'streetnumber'}=$guarantordata->{'streetnumber'};
+				$data{'address'}=$guarantordata->{'address'};
+				$data{'streettype'}=$guarantordata->{'streettype'};
+				$data{'address2'}=$guarantordata->{'address2'};
+				$data{'zipcode'}=$guarantordata->{'zipcode'};
+				$data{'city'}=$guarantordata->{'city'};
+				$data{'phone'}=$guarantordata->{'phone'};
+				$data{'phonepro'}=$guarantordata->{'phonepro'};
+				$data{'mobile'}=$guarantordata->{'mobile'};
+				$data{'fax'}=$guarantordata->{'fax'};
+				$data{'email'}=$guarantordata->{'email'};
+				$data{'emailpro'}=$guarantordata->{'emailpro'};
+			}
 		}
-		my $valid=checkdigit('',$data{'cardnumber'}, $nounique);
-		if ($valid != 1){
-			$nok=1;
-			push @errors, "ERROR_invalid_cardnumber";
+	}
+# STEP 2
+	if ($step eq 2) {
+			if ( ($data{'login'} eq '')){
+				my $onefirstnameletter=substr($data{'firstname'},0,1);
+				my $fivesurnameletter=substr($data{'surname'},0,5);
+				$data{'login'}=lc($onefirstnameletter.$fivesurnameletter);
+			}
+			if ($op eq 'add' and $data{'dateenrolled'} eq ''){
+				my $today=today();
+				#insert ,in field "dateenrolled" , the current date
+				$data{'dateenrolled'}=$today;
+				#if date expiry is null u must calculate the value only in this case
+				$data{'dateexpiry'} = calcexpirydate($data{'categorycode'},$today);
+			}
+			if ($op eq 'modify' ){
+			my $today=today();
+# 			if date expiry is null u must calculate the value only in this case
+			if ($data{'dateexpiry'} eq ''){
+			$data{'dateexpiry'} = calcexpirydate($data{'categorycode'},$today);
+ 			}
 		}
 	}
+# STEP 3
+	if ($step eq 3) {
+		# this value show if the login and password are been used
+		my $loginexist=checkuserpassword($borrowerid,$data{'login'},$data{'password'});
+		# test to know if u must save or create the borrowers
+		if ($op eq 'modify'){
+			# test to know if another user have the same password and same login		
+			if ($loginexist eq 0) {
+				&modmember(%data);		
+				logaction($loggedinuser,"MEMBERS","modify member", $borrowerid, "");
+			}
+			else {
+				push @errors, "ERROR_login_exist";
+				$nok=1;
+			}
+ 		}else{
+			# test to know if another user have the same password and same login	 
+			if ($loginexist) {
+				push @errors, "ERROR_login_exist";
+				$nok=1;
+			} else {
+				$borrowerid = &newmember(%data);
+				logaction($loggedinuser,"MEMBERS","add member", $borrowerid, "");
+			}
+ 		}
+		
+		if ($nok) {
+			foreach my $error (@errors) {
+				$template->param( $error => 1);
+			}
+			$template->param(nok => 1);
+			$step--; # decrease step : go back to step 2, the step++ just before showing the template will go again to 3
+		}
 
-	if ($data{'sex'} eq '' && $categorycode ne "I"){
-		push @errors, "ERROR_gender";
-		$nok=1;
-	}
-	if ($data{'firstname'} eq '' && $categorycode ne "I"){
-		push @errors,"ERROR_firstname";
-		$nok=1;
-	}
-	if ($data{'surname'} eq ''){
-		push @errors,"ERROR_surname";
-		$nok=1;
-	}
-	if ($data{'streetaddress'} eq ''){
-		push @errors, "ERROR_address";
-		$nok=1;
-	}
-	if ($data{'city'} eq ''){
-		push @errors, "ERROR_city";
-		$nok=1;
+		unless ($nok) {
+			if($destination eq "circ"){
+				print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$data{'cardnumber'}");
+			} else {
+				if ($loginexist == 0) {
+				print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowerid");
+				}
+			}
+		}
 	}
 	if (C4::Context->preference("IndependantBranches")) {
 		my $userenv = C4::Context->userenv;
@@ -118,62 +202,34 @@
 			}
 		}
 	}
-	if ($nok) {
-		foreach my $error (@errors) {
-			$template->param( $error => 1);
-		}
-		$template->param(nok => 1);
-	} else {
-		my $query="Select * from borrowers where borrowernumber=?";
-		my $sth=$dbh->prepare($query);
-		$sth->execute($data{'borrowernumber'});
-		if (my $data2=$sth->fetchrow_hashref){
-			&modmember(%data);
-		}else{
-			$borrowernumber = &newmember(%data);
-		}
-		
-	if($destination eq "circ"){
-		print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$data{'cardnumber'}");
-	} else {
-		print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowernumber");
-		}
-	}
 }
+
 if ($delete){
-	print $input->redirect("/cgi-bin/koha/deletemem.pl?member=$borrowernumber");
+	print $input->redirect("/cgi-bin/koha/deletemem.pl?member=$borrowerid");
 } else {  # this else goes down the whole script
-	if ($actionType eq 'Add'){
-		$template->param( addAction => 1);
-	} else {
-		$template->param( addAction =>0);
-	}
 	# retrieve previous values : either in DB or in CGI, in case of errors in values
 	my $data;
-	if ($nok) {
-		my @names=$input->param;
-		foreach my $key (@names){
-			$data->{$key}=$input->param($key);
-		}
-	} else {
-		$data=borrdata('',$borrowernumber);
+# test to now if u add or modify a borrower (modify =>to take all carateristic of the borrowers)
+	if (!$op and !$data{'surname'}) {
+		$data=borrdata('',$borrowerid);
+		%data=%$data;
 	}
 	if (C4::Context->preference("IndependantBranches")) {
 		my $userenv = C4::Context->userenv;
-		if ($userenv->{flags} != 1 && $data->{branchcode}){
-			unless ($userenv->{branch} eq $data->{'branchcode'}){
+		if ($userenv->{flags} != 1 && $data{branchcode}){
+			unless ($userenv->{branch} eq $data{'branchcode'}){
 				print $input->redirect("/cgi-bin/koha/members/members-home.pl");
 			}
 		}
 	}
-	if ($actionType eq 'Add'){
+	if ($op eq 'add'){
 		$template->param( updtype => 'I');
 	} else {
 		$template->param( updtype => 'M');
 	}
-	my $cardnumber=$data->{'cardnumber'};
-	$cardnumber=fixup_cardnumber($data->{'cardnumber'}) if $actionType eq 'Add';
-	if ($data->{'sex'} eq 'F'){
+	my $cardnumber=$data{'cardnumber'};
+	$cardnumber=fixup_cardnumber($data{'cardnumber'}) if $op eq 'add';
+	if ($data{'sex'} eq 'F'){
 		$template->param(female => 1);
 	}
 	my ($categories,$labels)=ethnicitycategories();
@@ -183,36 +239,66 @@
 		$ethcatpopup = CGI::popup_menu(-name=>'ethnicity',
 					-id => 'ethnicity',
 					-values=>$categories,
-					-default=>$data->{'ethnicity'},
+					-default=>$data{'ethnicity'},
 					-labels=>$labels);
 		$template->param(ethcatpopup => $ethcatpopup); # bad style, has to be fixed
 	}
-
-	($categories,$labels)=borrowercategories();
+	
+	
+	($categories,$labels)=borrowercategories($category_type,$op);
+	
+	#if u modify the borrowers u must have the right value for is category code
+	
+	(my $default_category=$data{'categorycode'}) if ($op  eq '');
 	my $catcodepopup = CGI::popup_menu(-name=>'categorycode',
-					-id => 'categorycode',
-					-values=>$categories,
-					-default=>$data->{'categorycode'},
-					-labels=>$labels);
+ 					-id => 'categorycode',
+ 					-values=>$categories,
+  					-default=>$default_category,
+ 					-labels=>$labels);
+	#test in city
+	my $default_city;
+ 	if ($op eq ''){
+	(my $selectcity=&getidcity($data{'city'})) if ($select_city eq '');
+	$default_city=$selectcity;
+	}
+	my($cityid,$name_city)=getcities();
+	$template->param( city_cgipopup => 1) if ($cityid );
+	my $citypopup = CGI::popup_menu(-name=>'select_city',
+					-id => 'select_city',
+					-values=>$cityid,
+					-labels=>$name_city,
+#   					-override => 1,
+					-default=>$default_city
+					);	
+	
+ 	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 @relationships = ('','workplace', 'relative','friend', 'neighbour');
+	
+	my @relationships = split /,|\|/,C4::Context->preference('BorrowerRelationship');
 	my @relshipdata;
 	while (@relationships) {
-		my $relship = shift @relationships;
-		next unless $relship;
+		my $relship = shift @relationships || '';
 		my %row = ('relationship' => $relship);
-		if ($data->{'altrelationship'} eq $relship) {
-			$row{'selected'}=' selected = "selected"';
+		if ($data{'relationship'} eq $relship) {
+			$row{'selected'}=' selected';
 		} else {
 			$row{'selected'}='';
 		}
 		push(@relshipdata, \%row);
 	}
-
-	# %flags: keys=$data-keys, datas=[formname, HTML-explanation]
-	my %flags = ('gonenoaddress' => ['gna', 'Gone no address'],
-				'lost'          => ['lost', 'Lost'],
-				'debarred'      => ['debarred', 'Debarred']);
+	my %flags = ( 'gonenoaddress' => ['gonenoaddress', 'Adresse érronée'],
+		      'lost'          => ['lost', 'Carte Perdue'],
+		      'debarred'      => ['debarred', 'Lecteur exclu']);
 
 	my @flagdata;
 	foreach (keys(%flags)) {
@@ -220,12 +306,12 @@
 	my %row =  ('key'   => $key,
 			'name'  => $flags{$key}[0],
 			'html'  => $flags{$key}[1]);
-	if ($data->{$key}) {
-		$row{'yes'}=' checked="checked"';
+	if ($data{$key}) {
+		$row{'yes'}=' checked';
 		$row{'no'}='';
 	} else {
 		$row{'yes'}='';
-		$row{'no'}=' checked="checked"';
+		$row{'no'}=' checked';
 	}
 	push(@flagdata, \%row);
 	}
@@ -235,102 +321,147 @@
 	}
 
 	#Convert dateofbirth to correct format
-	$data->{'dateofbirth'} = format_date($data->{'dateofbirth'});
-
+	$data{'dateofbirth'} = format_date($data{'dateofbirth'});
 	my @branches;
 	my @select_branch;
 	my %select_branches;
 	my $branches=getbranches();
 	my $default;
+	# -----------------------------------------------------
+	#  the value of ip from the branches hash table
+		my $select_ip;
+	# $ip is the ip of user when is connect to koha 
+		my $ip = $ENV{'REMOTE_ADDR'};
+	# -----------------------------------------------------
 	foreach my $branch (keys %$branches) {
 		if ((not C4::Context->preference("IndependantBranches")) || (C4::Context->userenv->{'flags'} == 1)) {
 			push @select_branch, $branch;
 			$select_branches{$branch} = $branches->{$branch}->{'branchname'};
-			$default = $data->{'branchcode'};
-		} else {
+# 		 take the ip number from branches "op"
+			$select_ip = $branches->{$branch}->{'branchip'} || '';
+				
+# 		test $select_ip equal $ip to attribute the default value for the scrolling list
+			if ($select_ip eq $ip)  {
+						$default = $branches->{$branch}->{'branchcode'};
+						}
+			} else {
 				push @select_branch, $branch if ($branch eq C4::Context->userenv->{'branch'});
 				$select_branches{$branch} = $branches->{$branch}->{'branchname'} if ($branch eq C4::Context->userenv->{'branch'});
-				$default = C4::Context->userenv->{'branch'};
-		}
-	}
-	
-	my $CGIbranch=CGI::scrolling_list( -name     => 'branchcode',
-				-id => 'branchcode',
-				-values   => \@select_branch,
-				-default  => $data->{'branchcode'},
-				-labels   => \%select_branches,
-				-size     => 1,
-				-multiple => 0 );
+					
+ 				$default = C4::Context->userenv->{'branch'};
+					
+				}
+	}
+# --------------------------------------------------------------------------------------------------------
+ 	my $CGIbranch = CGI::scrolling_list(-id    => 'branchcode',
+					   -name   => 'branchcode',
+					   -values => \@select_branch,
+					   -labels => \%select_branches,
+					   -size   => 1,
+				           -multiple =>0,
+					   -override => 1,	
+ 					   -default => $default,
+					);
+
+
+# --------------------------------------------------------------------------------------------------------
 	
-	my $CGIsort1 = buildCGIsort("Bsort1","sort1",$data->{'sort1'});
+	my $CGIsort1 = buildCGIsort("Bsort1","sort1",$data{'sort1'});
 	if ($CGIsort1) {
 		$template->param(CGIsort1 => $CGIsort1);
+		$template->param( sort1 => $data{'sort1'});
 	} else {
-		$template->param( sort1 => $data->{'sort1'});
+		$template->param( sort1 => $data{'sort1'});
 	}
 	
-	my $CGIsort2 = buildCGIsort("Bsort2","sort2",$data->{'sort2'});
+	my $CGIsort2 = buildCGIsort("Bsort2","sort2",$data{'sort2'});
 	if ($CGIsort2) {
 		$template->param(CGIsort2 =>$CGIsort2);
 	} else {
-		$template->param( sort2 => $data->{'sort2'});
-	}
-
-	my $CGIsort1 = buildCGIsort("Bsort1","sort1",$data->{'sort1'});
-	if ($CGIsort1) {
-		$template->param(CGIsort1 => $CGIsort1);
-	} else {
-		$template->param( sort1 => $data->{'sort1'});
+		$template->param( sort2 => $data{'sort2'});
 	}
 
-	my $CGIsort2 = buildCGIsort("Bsort2","sort2",$data->{'sort2'});
-	if ($CGIsort2) {
-		$template->param(CGIsort2 =>$CGIsort2);
-	} else {
-		$template->param( sort2 => $data->{'sort2'});
-	}
 	
-	$template->param(	actionType 		=> $actionType,
-				destination => $destination,
-				borrowernumber          => $borrowernumber,
-				address         => $data->{'streetaddress'},
-				firstname       => $data->{'firstname'},
-				surname         => $data->{'surname'},
-				othernames	=> $data->{'othernames'},
-				initials	=> $data->{'initials'},
-				ethcatpopup	=> $ethcatpopup,
-				catcodepopup	=> $catcodepopup,
-				streetaddress   => $data->{'streetaddress'},
-				physstreet   => $data->{'physstreet'},
-				zipcode => $data->{'zipcode'},
-				streetcity      => $data->{'streetcity'},
-				homezipcode => $data->{'homezipcode'},
-				city		=> $data->{'city'},
-				phone           => $data->{'phone'},
-				phoneday        => $data->{'phoneday'},
-				faxnumber       => $data->{'faxnumber'},
-				emailaddress    => $data->{'emailaddress'},
-				textmessaging   => $data->{'textmessaging'},
-				contactname     => $data->{'contactname'},
-				altphone        => $data->{'altphone'},
-				altnotes	=> $data->{'altnotes'},
-				borrowernotes	=> $data->{'borrowernotes'},
-				flagloop	=> \@flagdata,
-				relshiploop	=> \@relshipdata,
-				"title_".$data->{'title'} => " SELECTED ",
-				joining	=> format_date($data->{'dateenrolled'}),
-				expiry		=> format_date($data->{'expiry'}),
-				cardnumber	=> $cardnumber,
-				dateofbirth	=> $data->{'dateofbirth'},
-				dateformat      => display_date_format(),
-			        modify          => $modify,
-				CGIbranch => $CGIbranch);
-	$template->param(Institution => 1) if ($categorycode eq "I");
+ 	$data{'opacnotes'} =~ s/\\//g;
+	$data{'borrowernotes'} =~ s/\\//g;
+	# increase step to see next page
+	$step++;
+	warn "CITY".$data{city};
+	$template->param(
+		BorrowerMandatoryField => C4::Context->preference("BorrowerMandatoryField"),#field to test with javascript
+		category_type	=> $category_type,#to know the category type of the borrower
+		select_city	=> $select_city,
+		"step_$step" 	=> 1,# associate with step to know where u are
+		step		=> $step,
+		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,
+		nodouble	=> $nodouble,
+		borrowerid 	=> $borrowerid,#register number
+		cardnumber	=> $data{'cardnumber'},
+		surname         => uc($data{'surname'}),
+		firstname       => ucfirst($data{'firstname'}),
+		"title_".$data{'title'}   => " SELECTED ",
+		title 		=> $data{'title'},
+		othernames	=> $data{'othernames'},
+		initials	=> $data{'initials'},
+		streetnumber	=> $data{'streetnumber'},
+		streettype	=>$data{'streettype'},
+		address  	 => $data{'address'},
+		address2 	=> $data{'address2'},	
+		city	 	=> $data{'city'},
+		zipcode 	=> $data{'zipcode'},
+		email    	=> $data{'email'},
+		phone           => $data{'phone'},
+		mobile          => $data{'mobile'},
+		fax		=> $data{'fax'},
+		phonepro        => $data{'phonepro'},
+		emailpro	=> $data{'emailpro'},
+		b_address   	=> $data{'b_address'},
+		b_city     	=> $data{'b_city'},
+		b_zipcode 	=> $data{'b_zipcode'},
+		b_email		=> $data{'b_email'},
+		b_phone        => $data{'b_phone'},
+		dateofbirth	=> $data{'dateofbirth'},
+		branchcode      => $data{'branchcode'},
+		catcodepopup	=> $catcodepopup,
+		categorycode 	=> $data{'categorycode'},
+		dateenrolled 	=> format_date($data{'dateenrolled'}),
+		dateexpiry		=> format_date($data{'dateexpiry'}),
+		debarred        => $data{'debarred'},
+		gonenoaddress 	=> $data{'gonenoaddress'}, 
+		lost 	=> $data{'lost'},
+		contactname     => uc($data{'contactname'}),
+		contactfirstname=> ucfirst($data{'contactfirstname'}),
+		"contacttitle_".$data{'contacttitle'} => "SELECTED" ,
+		contacttitle	=> $data{'contacttitle'},
+		guarantorid	=> $guarantorid,
+		ethcatpopup	=> $ethcatpopup,
+		sex		=> $data{'sex'},
+		login 		=> $data{'login'},	
+		password 	=> $data{'password'},	
+		opacnotes   	=> $data{'opacnotes'},	
+		contactnotes	=> $data{'contactnotes'},
+		borrowernotes	=> $data{'borrowernotes'},
+		relshiploop	=> \@relshipdata,
+		relationship	=> $data{'relationship'},
+		citypopup	=> $citypopup,
+		roadpopup	=> $roadpopup,	
+		contacttype	=> $data{'contacttype'},
+		flagloop	=> \@flagdata,
+# 				"contacttype_".$data{'contacttype'} =>" SELECTED ",
+		dateformat      => display_date_format(),
+		check_categorytype =>$check_categorytype,#to recover the category type with checkcategorytype function
+			modify          => $modify,
+# 				city_choice       => $city_choice ,#check if the city was selected
+		nok 		=> $nok,#flag to konw if an error 
+		CGIbranch => $CGIbranch,
+		);
+	#$template->param(Institution => 1) if ($categorycode eq "I");
 	output_html_with_http_headers $input, $cookie, $template->output;
-
-
 }
-
 # Local Variables:
 # tab-width: 8
 # End:
Index: koha/members/moremember.pl
diff -u koha/members/moremember.pl:1.21 koha/members/moremember.pl:1.22
--- koha/members/moremember.pl:1.21	Fri Apr  7 11:10:25 2006
+++ koha/members/moremember.pl	Fri Apr 14 09:32:34 2006
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: moremember.pl,v 1.21 2006/04/07 11:10:25 plg Exp $
+# $Id: moremember.pl,v 1.22 2006/04/14 09:32:34 tipaul Exp $
 
 # script to do a borrower enquiry/bring up borrower details etc
 # Displays all the details about a borrower
@@ -78,7 +78,7 @@
 $template->param($data->{'categorycode'} => 1); # in template <TMPL_IF name="I"> => instutitional (A for Adult & C for children)
 
 $data->{'dateenrolled'} = format_date($data->{'dateenrolled'});
-$data->{'expiry'} = format_date($data->{'expiry'});
+$data->{'dateexpiry'} = format_date($data->{'dateexpiry'});
 $data->{'dateofbirth'} = format_date($data->{'dateofbirth'});
 $data->{'IS_ADULT'} = ($data->{'categorycode'} ne 'I');
 
@@ -91,13 +91,13 @@
 $data->{&expand_sex_into_predicate($data->{'sex'})} = 1;
 
 if ($data->{'categorycode'} eq 'C'){
-	my $data2=borrdata('',$data->{'guarantor'});
-	$data->{'streetaddress'}=$data2->{'streetaddress'};
+	my $data2=borrdata('',$data->{'guarantorid'});
+	$data->{'address'}=$data2->{'address'};
 	$data->{'city'}=$data2->{'city'};
-	$data->{'physstreet'}=$data2->{'physstreet'};
-	$data->{'streetcity'}=$data2->{'streetcity'};
+	$data->{'B_address'}=$data2->{'B_address'};
+	$data->{'B_city'}=$data2->{'B_city'};
 	$data->{'phone'}=$data2->{'phone'};
-	$data->{'phoneday'}=$data2->{'phoneday'};
+	$data->{'mobile'}=$data2->{'mobile'};
 	$data->{'zipcode'} = $data2->{'zipcode'};
 }
 
@@ -106,7 +106,7 @@
 	$template->param(printethnicityline => 1);
 }
 
-if ($data->{'categorycode'} ne 'C'){
+if ($data->{'category_type'} ne 'C'){
 	$template->param(isguarantee => 1);
 	# FIXME
 	# It looks like the $i is only being returned to handle walking through
@@ -122,9 +122,9 @@
 	$template->param(guaranteeloop => \@guaranteedata);
 
 } else {
-	my ($guarantor)=findguarantor($data->{'borrowernumber'});
-	unless ($guarantor->{'borrowernumber'} == 0){
-		$template->param(guarantorborrowernumber => $guarantor->{'borrowernumber'}, guarantorcardnumber => $guarantor->{'cardnumber'});
+	my ($guarantorid)=findguarantor($data->{guarantorid});
+	if ($guarantorid->{'borrowernumber'}){
+		$template->param(guarantorborrowernumber => $guarantorid->{'borrowernumber'}, guarantorcardnumber => $guarantorid->{'cardnumber'});
 	}
 }
 





More information about the Koha-cvs mailing list