[Koha-devel] CVS: koha memberentry.pl,1.2,1.3

Chris Cornack rangi at usw-pr-cvs1.sourceforge.net
Tue Mar 13 00:29:46 CET 2001


Update of /cvsroot/koha/koha
In directory usw-pr-cvs1:/tmp/cvs-serv13697

Modified Files:
	memberentry.pl 
Log Message:
Modified to include Glen Stewarts automatic member/patron cardnumber incrementation



Index: memberentry.pl
===================================================================
RCS file: /cvsroot/koha/koha/memberentry.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** memberentry.pl	2001/03/07 01:48:48	1.2
--- memberentry.pl	2001/03/12 23:29:44	1.3
***************
*** 8,13 ****
  use CGI;
  use C4::Search;
  
- 
  my $input = new CGI;
  my $member=$input->param('bornum');
--- 8,13 ----
  use CGI;
  use C4::Search;
+ use C4::Database;
  
  my $input = new CGI;
  my $member=$input->param('bornum');
***************
*** 16,24 ****
  }
  my $type=$input->param('type');
! my $modify=$input->param('modify.x');
  print $input->header;
  print startpage();
  print startmenu('member');
! #print $modify;
  if ($type ne 'Add'){
    print mkheadr(1,'Update Member Details');
--- 16,24 ----
  }
  my $type=$input->param('type');
! my $modify=$input->param('modify.x'); 
  print $input->header;
  print startpage();
  print startmenu('member');
! 
  if ($type ne 'Add'){
    print mkheadr(1,'Update Member Details');
***************
*** 40,43 ****
--- 40,83 ----
    print "<input type=hidden name=updtype value=M>";
  }
+ 
+ my $cardnumber=$data->{'cardnumber'};
+ my %systemprefs=systemprefs();
+ if ($cardnumber eq '' && $systemprefs{'autoMemberNum'} eq '1') {
+   my $dbh=C4Connect;
+   my $query="select max(substring(borrowers.cardnumber,2,7)) from borrowers";
+   my $sth=$dbh->prepare($query);
+   $sth->execute;
+   my $data=$sth->fetchrow_hashref;
+   $cardnumber=$data->{'max(substring(borrowers.cardnumber,2,7))'};
+   $sth->finish;
+   $dbh->disconnect;
+   # purpose: generate checksum'd member numbers.
+   # We'll assume we just got the max value of digits 2-8 of member #'s from the database and our job is to
+   # increment that by one, determine the 1st and 9th digits and return the full string.
+   my @weightings = (8,4,6,3,5,2,1);
+   my $sum;
+   my $i = 0;
+   if (! $cardnumber) { 			# If DB has no values, start at 1000000
+     $cardnumber = 1000000;
+   } else {
+     $cardnumber = $cardnumber + 1;
+   }
+ 
+   while ($i <8) {			# step from char 1 to 7.
+     my $temp1 = $weightings[$i];	# read weightings, left to right, 1 char at a time
+     my $temp2 = substr($cardnumber,$i,1);	# sequence left to right, 1 char at a time
+ #print "$temp2<br>";
+     $sum = $sum + ($temp1*$temp2);	# mult each char 1-7 by its corresponding weighting
+     $i++;				# increment counter
+   }
+   my $rem = ($sum%11);			# remainder of sum/11 (eg. 9999999/11, remainder=2)
+   if ($rem == 10) {			# if remainder is 10, use X instead
+     $rem = "X";
+   }  
+   $cardnumber="V$cardnumber$rem";
+ } else {
+   $cardnumber=$data->{'cardnumber'};
+ }
+ 
  print <<printend
  
***************
*** 46,50 ****
  
  <tr valign=top><td  COLSPAN=2><input type=reset value="Clear all Fields"></td><td  COLSPAN=3   ALIGN=RIGHT ><font size=4 face='arial,helvetica'>
! Member# $member,   Card Number* <input type=text name=cardnumber size=10 value="$data->{'cardnumber'}"><br>
  </td></tr>
  
--- 86,90 ----
  
  <tr valign=top><td  COLSPAN=2><input type=reset value="Clear all Fields"></td><td  COLSPAN=3   ALIGN=RIGHT ><font size=4 face='arial,helvetica'>
! Member# $member,   Card Number* <input type=text name=cardnumber size=10 value="$cardnumber"><br>
  </td></tr>
  
***************
*** 225,231 ****
  <td>
  <SELECT NAME="area" SIZE="1">
- <OPTION value=L
  printend
  ;
  if ($data->{'area'} eq 'L'){
    print " Selected";
--- 265,278 ----
  <td>
  <SELECT NAME="area" SIZE="1">
  printend
  ;
+ 
+ 
+ print "<OPTION value=EEBF";
+ if ($data->{'area'} eq 'EEBF'){
+   print " Selected";
+ }
+ print ">EEBF - Delphi-E Flint
+ <OPTION value=L";
  if ($data->{'area'} eq 'L'){
    print " Selected";
***************
*** 372,426 ****
  <td  COLSPAN=4><textarea name=borrowernotes wrap=physical cols=70 rows=3>$data->{'borrowernotes'}</textarea></td></tr>
  <tr><td>&nbsp; </TD></TR>
! 
! printend
! ;
! if ($modify){
!   print <<printend
! <tr><td><Font size=2>FLAGS</font></td></tr>
! <tr><td>Gone No Address</td>
! <td><input type=radio name=gna value=1
  printend
  ;
!   if ($data->{'gonenoaddress'} eq '1'){
!     print " checked";
!   }
! print ">Yes <input type=radio name=gna value=0";
!   if ($data->{'gonenoaddress'} eq '0'){
!     print " checked";
!   }
!   print ">No</td></tr>\n";
!   print "<tr><td>Lost</td><td><input type=radio name=lost value=1";
!   if ($data->{'lost'} eq '1'){
!     print " checked";
!   }
!   print ">Yes<input type=radio name=lost value=0";
!   if ($data->{'lost'} eq '0'){
!     print " checked";
!   }
!   print ">No</td></tr>\n";
!   print "<tr><td>Debarred</td><td><input type=radio name=debarred value=1";
!   if ($data->{'debarred'} eq '1'){
!     print " checked";
!   }
!   print ">Yes<input type=radio name=debarred value=0";
!   if ($data->{'debarred'} eq '0'){
!     print " checked";
!   }
!   print ">No</td></tr>\n";
! }
! if ($type eq 'Add'){
    print <<printend
!   <tr valign=top bgcolor=white><td  COLSPAN=5 align=right >
! <input type=image src="/images/save-changes.gif"  WIDTH=188  HEIGHT=44  ALT="Add New Member" border=0 ></td>
  printend
  ;
  } else {
  print <<printend
! <tr valign=top bgcolor=white><td  COLSPAN=5 align=right >
! <input type=image src="/images/save-changes.gif"  WIDTH=188  HEIGHT=44  ALT="Add New Member" border=0 ></td>
  printend
  ;
  }
  print <<printend
  </tr>
  </TABLE>
--- 419,473 ----
  <td  COLSPAN=4><textarea name=borrowernotes wrap=physical cols=70 rows=3>$data->{'borrowernotes'}</textarea></td></tr>
  <tr><td>&nbsp; </TD></TR>
! <tr valign=top bgcolor=white><td  COLSPAN=5 align=right >
  printend
  ;
! if ($modify){                                                                                                                                      
!   print <<printend                                                                                                                                 
!   <tr><td><Font size=2>FLAGS</font></td></tr>                                                                                                        
!   <tr><td>Gone No Address</td>                                                                                                                       
!   <td><input type=radio name=gna value=1                                                                                                             
! printend
! ;
!   if ($data->{'gonenoaddress'} eq '1'){                                                                                                            
!     print " checked";                                                                                                                              
!   }                                                                                                                                                
!   print ">Yes <input type=radio name=gna value=0";                                                                                                   
!   if ($data->{'gonenoaddress'} eq '0'){                                                                                                            
!     print " checked";                                                                                                                              
!   }                                                                                                                                                
!   print ">No</td></tr>\n";                                                                                                                         
!   print "<tr><td>Lost</td><td><input type=radio name=lost value=1";                                                                                
!   if ($data->{'lost'} eq '1'){                                                                                                                     
!     print " checked";                                                                                                                              
!   }                                                                                                                                                
!   print ">Yes<input type=radio name=lost value=0";                                                                                                 
!   if ($data->{'lost'} eq '0'){                                                                                                                     
!     print " checked";                                                                                                                              
!   }                                                                                                                                                
!   print ">No</td></tr>\n";                                                                                                                         
!   print "<tr><td>Debarred</td><td><input type=radio name=debarred value=1";                                                                        
!   if ($data->{'debarred'} eq '1'){                                                                                                                 
!     print " checked";                                                                                                                              
!   }                                                                                                                                                
!   print ">Yes<input type=radio name=debarred value=0";                                                                                             
!   if ($data->{'debarred'} eq '0'){                                                                                                                 
!     print " checked";                                                                                                                              
!   }                                                                                                                                                
!   print ">No</td></tr>\n";                                                                                                                         
! }                 
! 
! if ($type ne 'modify'){
    print <<printend
! <tr><td></td><td><input type=image src="/images/save-changes.gif"  WIDTH=188  HEIGHT=44  ALT="Add New Member" border=0 ></td>
  printend
  ;
  } else {
  print <<printend
! <td><td></td><td><input type=image src="/images/save-changes.gif"  WIDTH=188  HEIGHT=44  ALT="Add New Member" border=0 ></td>
  printend
  ;
  }
  print <<printend
+ </form>
  </tr>
  </TABLE>





More information about the Koha-devel mailing list