[Koha-cvs] CVS: koha/circ returns.pl,1.24,1.25

Henri-Damien LAURENT hdl at users.sourceforge.net
Wed Jan 29 23:45:11 CET 2003


Update of /cvsroot/koha/koha/circ
In directory sc8-pr-cvs1:/tmp/cvs-serv23700/circ

Modified Files:
	returns.pl 
Log Message:
Templating : returns.pl

Index: returns.pl
===================================================================
RCS file: /cvsroot/koha/koha/circ/returns.pl,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -r1.24 -r1.25
*** returns.pl	15 Jan 2003 03:47:46 -0000	1.24
--- returns.pl	29 Jan 2003 22:45:07 -0000	1.25
***************
*** 29,33 ****
--- 29,48 ----
  use C4::Print;
  use C4::Reserves2;
+ use C4::Auth;
+ use HTML::Template;
  
+ 
+ my $query=new CGI;
+ #getting the template
+ my ($template, $borrowernumber, $cookie)
+     = get_template_and_user({template_name => "circ/returns.tmpl",
+ 							query => $query,
+                             type => "intranet",
+                             authnotrequired => 0,
+                             flagsrequired => {parameters => 1},
+                          });
+ 
+ #####################
+ #Global vars
  my %env;
  my $headerbackgroundcolor='#99cc33';
***************
*** 38,42 ****
  my $backgroundimage="/images/background-mem.gif";
  
- my $query=new CGI;
  my $branches = getbranches();
  my $printers = getprinters(\%env);
--- 53,56 ----
***************
*** 48,51 ****
--- 62,67 ----
  ($printer) || ($printer=$query->cookie('printer')) ;
  
+ my $genbrname=$branches->{$branch}->{'branchname'};
+ my $genprname=$printers->{$printer}->{'printer'};
  
  #
***************
*** 58,68 ****
  $env{'queue'}=$printer;
  
  # Set up the item stack ....
- my $ritext = '';
  my %returneditems;
  my %riduedate;
  my %riborrowernumber;
  foreach ($query->param) {
      (next) unless (/ri-(\d*)/);
      my $counter=$1;
      (next) if ($counter>20);
--- 74,86 ----
  $env{'queue'}=$printer;
  
+ 
  # Set up the item stack ....
  my %returneditems;
  my %riduedate;
  my %riborrowernumber;
+ my @inputloop;
  foreach ($query->param) {
      (next) unless (/ri-(\d*)/);
+ 	my %input;
      my $counter=$1;
      (next) if ($counter>20);
***************
*** 73,88 ****
      # decode cuecat
      $barcode = cuecatbarcodedecode($barcode);
      $returneditems{$counter}=$barcode;
      $riduedate{$counter}=$duedate;
      $riborrowernumber{$counter}=$borrowernumber;
!     $ritext.="<input type=hidden name=ri-$counter value=$barcode>\n";
!     $ritext.="<input type=hidden name=dd-$counter value=$duedate>\n";
!     $ritext.="<input type=hidden name=bn-$counter value=$borrowernumber>\n";
  }
  
- # Collect a few messages here...
- my $messagetext='';
- my $reservetext='';
- 
  ############
  # Deal with the requests....
--- 91,107 ----
      # decode cuecat
      $barcode = cuecatbarcodedecode($barcode);
+ 	######################
+ 	#Are these lines still useful ?
      $returneditems{$counter}=$barcode;
      $riduedate{$counter}=$duedate;
      $riborrowernumber{$counter}=$borrowernumber;
! 	#######################
! 	$input{counter}=$counter;
! 	$input{barcode}=$barcode;
! 	$input{duedate}=$duedate;
! 	$input{bornum}=$borrowernumber;
! 	push (@inputloop, \%input);
  }
  
  ############
  # Deal with the requests....
***************
*** 96,116 ****
      my $branchname = $branches->{$tobranchcd}->{'branchname'};
      my ($borr) = getpatroninformation(\%env, $borrnum, 0);
      my $name = $borr->{'surname'}." ".$borr->{'title'}." ".$borr->{'firstname'};
-     my $number = "<a href=/cgi-bin/koha/moremember.pl?bornum=$borr->{'borrowernumber'} onClick='openWindow(this,'Member', 480, 640)'>$borr->{'cardnumber'}</a>";
      my $slip = $query->param('resslip');
      printslip(\%env, $slip);
      if ($tobranchcd ne $branch) {
! #	my ($transfered, $messages, $iteminfo) = transferbook($tobranchcd, $resbarcode, 1);
! 	$reservetext .= <<"EOF";
! <font color='red' size='+2'>Item marked Waiting:</font><br>
!     Item: $iteminfo->{'title'} ($iteminfo->{'author'})<br>
!  needs to be transfered to <b>$branchname</b> <br>
! to be picked up by $name ($number).
! <center><form method=post action='returns.pl'>
! $ritext
! <input type=hidden name=barcode value=0>
! <input type=submit value="OK">
! </form></center>
! EOF
      }
  }
--- 115,130 ----
      my $branchname = $branches->{$tobranchcd}->{'branchname'};
      my ($borr) = getpatroninformation(\%env, $borrnum, 0);
+ 	my $borcnum=$borr->{'cardnumber'};
      my $name = $borr->{'surname'}." ".$borr->{'title'}." ".$borr->{'firstname'};
      my $slip = $query->param('resslip');
      printslip(\%env, $slip);
      if ($tobranchcd ne $branch) {
! 		$template->param(	itemtitle => $iteminfo->{'title'},
! 										iteminfo => $iteminfo->{'author'},
! 										branchname => $branchname,
! 										name => $name,
! 										bornum => $borrnum,
! 										borcnum => $borcnum,
! 										diffbranch => 1);
      }
  }
***************
*** 127,203 ****
      $barcode = cuecatbarcodedecode($barcode);
      ($returned, $messages, $iteminformation, $borrower) = returnbook($barcode, $branch);
-     $ritext.= "<input type=hidden name=ri-0 value=$barcode>\n";
      if ($returned) {
! 	$returneditems{0} = $barcode;
! 	$riborrowernumber{0} = $borrower->{'borrowernumber'};
! 	$riduedate{0} = $iteminformation->{'date_due'};
! 	$ritext.= "<input type=hidden name=dd-0 value=$iteminformation->{'date_due'}>\n";
! 	$ritext.= "<input type=hidden name=bn-0 value=$borrower->{'borrowernumber'}>\n";
      } elsif (! $messages->{'BadBarcode'}) {
! 	$returneditems{0} = $barcode;
! 	$riduedate{0} = 0;
! 	$ritext.= "<input type=hidden name=dd-0 value=0>\n";
! 	if ($messages->{'wthdrawn'}) {
! 	    $ritext.= "<input type=hidden name=bn-0 value='Item Cancelled'>\n";
! 	    $riborrowernumber{0} = 'Item Cancelled';
! 	} else {
! 	    $ritext.= "<input type=hidden name=bn-0 value='&nbsp;'>\n";
! 	    $riborrowernumber{0} = '&nbsp;';
  	}
!     }
! }
! 
! ##################################################################################
! # HTML code....
! # title....
! my $title = <<"EOF";
! <FONT SIZE=6><em>Circulation: Returns</em></FONT><br>
! <b>Branch:</b> $branches->{$branch}->{'branchname'} &nbsp<b>Printer:</b> $printers->{$printer}->{'printername'}<br>
! <a href=selectbranchprinter.pl>Change Settings</a>
! <input type=hidden name=branch value=$branch>
! <input type=hidden name=printer value=$printer>
! <p>
! EOF
! 
! my $links = <<"EOF";
! <table align="right"><tr><td>
! <a href=circulation.pl>
! <img src="/images/button-issues.gif" width="99" height="42" border="0" alt="Issues"></a>
! &nbsp<a href=branchtransfers.pl><img src="/images/button-transfers.gif" width="127" height="42" border="0" alt="Issues"></a>
! </td></tr></table>
! EOF
! 
! 
! my $itemtable;
! if ($iteminformation) {
!     $itemtable = <<"EOF";
! <table border=1 cellpadding=5 cellspacing=0>
! <tr><th bgcolor=$headerbackgroundcolor background=$backgroundimage>
! <font color=black>Returned Item Information</font></th></tr>
! <tr><td>
! Title: $iteminformation->{'title'}<br>
! <!--Hlt decided they dont want these showing, uncoment the html to make it work
! 
! Author: $iteminformation->{'author'}<br>
! Barcode: <a href=/cgi-bin/koha/detail.pl?bib=$iteminformation->{'biblionumber'}
! &type=intra onClick="openWindow(this, 'Item', 480, 640)">$iteminformation->{'barcode'}</a><br>
! Date Due: $iteminformation->{'date_due'}-->
! </td></tr>
! </table>
! EOF
! }
  
- # Barcode entry box, with hidden inputs attached....
- my $barcodeentrytext = << "EOF";
- <form method=post action=/cgi-bin/koha/circ/returns.pl>
- <table border=1 cellpadding=5 cellspacing=0>
- <tr><td colspan=2 bgcolor=$headerbackgroundcolor align=center background=$backgroundimage>
- <font color=black><b>Enter Book Barcode</b></font></td></tr>
- <tr><td>Item Barcode:</td><td><input name=barcode size=10></td></tr>
- </table>
- $ritext
- </form>
- EOF
  
  
  if ($messages->{'ResFound'}) {
--- 141,186 ----
      $barcode = cuecatbarcodedecode($barcode);
      ($returned, $messages, $iteminformation, $borrower) = returnbook($barcode, $branch);
      if ($returned) {
! 		$returneditems{0} = $barcode;
! 		$riborrowernumber{0} = $borrower->{'borrowernumber'};
! 		$riduedate{0} = $iteminformation->{'date_due'};
! 		my %input;
! 		$input{counter}=0;
! 		$input{first}=1;
! 		$input{barcode}=$barcode;
! 		$input{duedate}=$riduedate{0};
! 		$input{bornum}=$riborrowernumber{0};
! 		push (@inputloop, \%input);
      } elsif (! $messages->{'BadBarcode'}) {
! 		my %input;
! 		$input{counter}=0;
! 		$input{first}=1;
! 		$input{barcode}=$barcode;
! 		$input{duedate}=0;
! 
! 		$returneditems{0} = $barcode;
! 		$riduedate{0} = 0;
! 		if ($messages->{'wthdrawn'}) {
! 			$input{withdrawn}=1;
! 			$input{bornum}="Item Cancelled";
! 			$riborrowernumber{0} = 'Item Cancelled';
! 		} else {
! 			$input{bornum}="&nbsp;";
! 			$riborrowernumber{0} = '&nbsp;';
! 		}
! 		push (@inputloop, \%input);
  	}
! 	$template->param(	returned => $returned,
! 									itemtitle => $iteminformation->{'title'},
! #									itembc => $iteminformation->{'barcode'},
! #									itemdatedue => $iteminformation->{'datedue'},
! 									itemauthor => $iteminformation->{'author'});
! }
! $template->param(inputloop => \@inputloop);
  
  
+ my $found=0;
+ my $waiting=0;
+ my $reserved=0;
  
  if ($messages->{'ResFound'}) {
***************
*** 206,483 ****
      my ($borr) = getpatroninformation(\%env, $res->{'borrowernumber'}, 0);
      my $name = $borr->{'surname'}." ".$borr->{'title'}." ".$borr->{'firstname'};
-     my $number = "<a href=/cgi-bin/koha/moremember.pl?bornum=$borr->{'borrowernumber'} onClick='openWindow(this,'Member', 480, 640)'>$borr->{'cardnumber'}</a>";
      my ($iteminfo) = getiteminformation(\%env, 0, $barcode);
  
      if ($res->{'ResFound'} eq "Waiting") {
! 	$reservetext = <<"EOF";
! <font color='red' size='+2'>Item marked Waiting:</font><br>
!     Item $iteminfo->{'title'} ($iteminfo->{'author'}) <br>
! is marked waiting at <b>$branchname</b> for $name ($number).
! <center><form method=post action='returns.pl'>
! $ritext
! <input type=hidden name=barcode value=0>
! <input type=submit value="OK">
! </form></center>
! EOF
!     }    if ($res->{'ResFound'} eq "Reserved") {
! 	my @da = localtime(time());
! 	my $todaysdate = sprintf ("%0.2d", ($da[3]+1))."/".sprintf ("%0.2d", ($da[4]+1))."/".($da[5]+1900);
! 	my $slip =  <<"EOF";
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! Date: $todaysdate;
! 
! ITEM RESERVED:$iteminfo->{'title'} ($iteminfo->{'author'})
! barcode: $iteminfo->{'barcode'}
! itemtype: $iteminfo->{'itemtype'}
! COLLECT AT: $branchname
! 
! BORROWER:
! $borr->{'title'} $borr->{'firstname'} $borr->{'surname'}
! card number: $borr->{'cardnumber'}
! Phone: $borr->{'phone'}
! $borr->{'streetaddress'}
! $borr->{'suburb'}
! $borr->{'town'}
! $borr->{'emailaddress'}
! 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! 
! EOF
! 
! 	$reservetext = <<"EOF";
! <font color='red' size='+2'>Reserve found:</font> Item: $iteminfo->{'title'} ($iteminfo->{'author'}) <a href=/cgi-bin/koha/detail.pl?bib=$iteminfo->{'biblionumber'}&type=intra onClick=\"openWindow(this, 'Item', 480, 640)\">$barcode</a> <br>
! for $name ($number) to be collected at <b>$branchname</b>.
! <table cellpadding=5 cellspacing=0>
! <tr><td valign="top">Change status to waiting and print<a href="" onClick='alert(document.forms[0].resslip.value); return false'>slip</a>?: </td>
! <td valign="top">
! <form method=post action='returns.pl'>
! $ritext
! <input type=hidden name=itemnumber value=$res->{'itemnumber'}>
! <input type=hidden name=borrowernumber value=$res->{'borrowernumber'}>
! <input type=hidden name=resbarcode value=$barcode>
! <input type=hidden name=resslip value="$slip">
! <input type=submit value="Print">
! </form>
! </td></tr>
! </table>
! EOF
      }
  }
- my $reservefoundtext;
- if ($reservetext) {
-     $reservefoundtext = <<"EOF";
- <table border=1 cellpadding=5 cellspacing=0 bgcolor='#dddddd'>
- <tr><th bgcolor=$headerbackgroundcolor background=$backgroundimage><font>Reserve Found</font></th></tr>
- <tr><td> $reservetext </td></tr></table>
- EOF
- }
  
! # collect the messages and put into message table....
  foreach my $code (keys %$messages) {
  #    warn $code;
      if ($code eq 'BadBarcode'){
! 	$messagetext .= "<font color='red' size='+2'> No Item with barcode: $messages->{'BadBarcode'} </font> <br>";
      }
      if ($code eq 'NotIssued'){
! 	my $braname = $branches->{$messages->{'IsPermanent'}}->{'branchname'};
! 	$messagetext .= "<font color='red' size='+2'> Item not on issue. </font> <br>";
      }
      if ($code eq 'WasLost'){
! 	$messagetext .= "<font color='red' size='+2'> Item was lost, now found. </font> <br>";
      }
      if ($code eq 'wthdrawn'){
! 	$messagetext = "<font color='red' size='+2'> Item Cancelled. </font> <br>";
  	last;
      }
      if (($code eq 'IsPermanent') && (not $messages->{'ResFound'})) {
! 	if ($messages->{'IsPermanent'} ne $branch) {
! 	    $messagetext .= "<font color='red' size='+2'> Please return to $branches->{$messages->{'IsPermanent'}}->{'branchname'} </font> <br>";
! 	}
      }
  }
! $messagetext = substr($messagetext, 0, -4);
! 
! my $messagetable;
! if ($messagetext) {
!     $messagetable = << "EOF";
! <table border=1 cellpadding=5 cellspacing=0 bgcolor='#dddddd'>
! <tr><th bgcolor=$headerbackgroundcolor background=$backgroundimage><font>Messages</font></th></tr>
! <tr><td> $messagetext </td></tr></table>
! EOF
! }
! 
  
  # patrontable ....
- my $borrowertable;
- my $flaginfotable;
  if ($borrower) {
-     $borrowertable = << "EOF";
- <table border=1 cellpadding=5 cellspacing=0>
- <tr><td colspan=2 bgcolor=$headerbackgroundcolor background=$backgroundimage>
- <font color=black><b>Borrower Information</b></font></td></tr>
- <tr><td colspan=2>
- <a href=/cgi-bin/koha/moremember.pl?bornum=$borrower->{'borrowernumber'}onClick="openWindow(this,'Member', 480, 640)">$borrower->{'cardnumber'}</a>
- $borrower->{'surname'}, $borrower->{'title'} $borrower->{'firstname'}<br>
- </td></tr>
- EOF
      my $flags = $borrower->{'flags'};
-     my $flaginfotext='';
-     my $displayflag = '';
      my $color = '';
      foreach my $flag (sort keys %$flags) {
! 	($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1);
! 	if ($flags->{$flag}->{'noissues'}) {
! 	    $displayflag = "<font color=red>$flag</font>";
! 	} else {
! 	    $displayflag = $flag;
! 	}	if ($flag eq 'CHARGES') {
! 	    $flaginfotext.= <<"EOF";
! <tr><td valign=top>$displayflag</td>
! <td bgcolor=$color><b>$flags->{$flag}->{'message'}</b><a href=/cgi-bin/koha/pay.pl?bornum=$borrower->{'borrowernumber'}onClick="openWindow(this, 'Payment', 480,640)">Payment</a></td></tr>
! EOF
! 	} elsif ($flag eq 'WAITING') {
! 	    my $itemswaiting='';
! 	    my $items = $flags->{$flag}->{'itemlist'};
! 	    foreach my $item (@$items) {
! 		my ($iteminformation) = getiteminformation(\%env, $item->{'itemnumber'}, 0);
! 		$itemswaiting .= <<"EOF";
! <a href=/cgi-bin/koha/detail.pl?bib=$iteminformation->{'biblionumber'}&type=intraonClick="openWindow(this, 'Item', 480, 640)">$iteminformation->{'barcode'}</a>$iteminformation->{'title'}($branches->{$iteminformation->{'holdingbranch'}}->{'branchname'})<br>
! EOF
!             }
!             $flaginfotext.="<tr><td valign=top>$displayflag</td><td>$itemswaiting</td></tr>\n";
! 	} elsif ($flag eq 'ODUES') {
! 	    my $itemsoverdue = '';
! 	    my $items = $flags->{$flag}->{'itemlist'};
!             foreach my $item (sort {$a->{'date_due'} cmp $b->{'date_due'}} @$items) {
! 		my ($iteminformation) = getiteminformation(\%env, $item->{'itemnumber'}, 0);
!                 $itemsoverdue .=  <<"EOF";
! <font color=red>$item->{'date_due'}</font>
! <a href=/cgi-bin/koha/detail.pl?bib=$iteminformation->{'biblionumber'}&type=intraonClick="openWindow(this, 'Item', 480, 640)">$iteminformation->{'barcode'}</a>$iteminformation->{'title'}
! <br>
! EOF
! 	    }
! 	    $flaginfotext .= "<tr><td valign=top>$displayflag</td><td>$itemsoverdue</td></tr>\n";
!         } else {
! 	    $flaginfotext.= <<"EOF";
! <tr><td valign=top>$displayflag</td>
! <td bgcolor=$color>$flags->{$flag}->{'message'}</td></tr>
! EOF
! 	}
!     }
!     if ($flaginfotext) {
! 	$borrowertable .= << "EOF";
! <tr><td bgcolor=$headerbackgroundcolor background=$backgroundimage colspan=2>
! <b>Flags</b></td></tr>
! $flaginfotext
! EOF
!     }
!     $borrowertable .= "</table>";
  }
  
- # the returned items.....
- my $returneditemstable = << "EOF";
- <table border=1 cellpadding=5 cellspacing=0>
- <tr><th colspan=6 bgcolor=$headerbackgroundcolor background=$backgroundimage>
- <font color=black>Returned Items</font></th></tr>
- <tr><th>Due Date</th><th>Bar Code</th><th>Title</th><th>Author</th><th>Type</th><th>Borrower</th></tr>
- EOF
- 
  my $color='';
  #set up so only the lat 8 returned items display (make for faster loading pages)
  my $count=0;
  foreach (sort {$a <=> $b} keys %returneditems) {
      if ($count < 8) {
! 	($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1);
! 	my $barcode = $returneditems{$_};
! 	my $duedate = $riduedate{$_};
! 	my $overduetext;
          my $borrowerinfo;
! 	if ($duedate) {
! 	    my @tempdate = split ( /-/ , $duedate ) ;
              my $duedatenz = "$tempdate[2]/$tempdate[1]/$tempdate[0]";
              my @datearr = localtime(time());
!             my $todaysdate = (1900+$datearr[5]).'-'.sprintf ("%0.2d", ($datearr[4]+1)).'-'.sprintf ("%0.2d", $datearr[3]);
! 	    $overduetext = "$duedatenz";
! 	    ($overduetext="<font color=red>$duedate</font>") if ($duedate lt $todaysdate);
! 	    ($duedatenz) || ($overduetext = "<img src=/images/blackdot.gif>");
! 	    my ($borrower) = getpatroninformation(\%env, $riborrowernumber{$_}, 0);
!             $borrowerinfo = "<a href=/cgi-bin/koha/moremember.pl?bornum=$borrower->{'borrowernumber'} onClick=\"openWindow(this,'Member', 480, 640)\">$borrower->{'cardnumber'}</a> $borrower->{'firstname'} $borrower->{'surname'}";
          } else {
!             $overduetext = "Not on Issue.";
! 	    $borrowerinfo = $riborrowernumber{$_};
! 	}
! 	my ($iteminformation) = getiteminformation(\%env, 0, $barcode);;
! 	$returneditemstable .= << "EOF";
! <tr><td bgcolor=$color>$overduetext</td>
! <td bgcolor=$color align=center>
! <a href=/cgi-bin/koha/detail.pl?bib=$iteminformation->{'biblionumber'}&type=intra onClick=\"openWindow(this, 'Item', 480, 640)\">$barcode</a></td>
! <td bgcolor=$color>$iteminformation->{'title'}</td>
! <td bgcolor=$color>$iteminformation->{'author'}</td>
! <td bgcolor=$color align=center>$iteminformation->{'itemtype'}</td>
! <td bgcolor=$color>
! $borrowerinfo</td></tr>
! EOF
!     } else {
! 	last;
      }
      $count++;
  }
! $returneditemstable .= "</table>\n";
  
  
  # actually print the page!
! print $query->header();
! print startpage();
! print startmenu('circulation');
! 
! 
! #debug
! #    foreach my $key (keys %$messages) {
! #	print "$key : $messages->{$key}<br>";
! #    }
! 
! 
! print <<"EOF";
! $links
! $title
! 
! 
! <table cellpadding=5 cellspacing=0 width=100%>
! EOF
! 
! if ($reservefoundtext) {
!     print <<"EOF";
! <tr>
! <td colspan=2>$reservefoundtext</td>
! </tr>
! <tr>
! <td colspan=2>$messagetable</td>
! </tr>
! 
! EOF
! } else {
!     print <<"EOF";
! <tr>
! <td valign=top align=left>$barcodeentrytext</td>
! <td valign=top align=left>$messagetable</td>
! </tr>
! EOF
! }
! if ($returned) {
!     print <<"EOF";
! <tr>
! <td valign=top align=left>$itemtable</td>
! <td valign=top align=left>$borrowertable</td>
! <tr>
! EOF
! }
! if (%returneditems) {
!     print "<tr><td colspan=2>$returneditemstable</td></tr>";
! }
! 
! print "</table>";
! 
! print endmenu('circulation');
! print endpage();
  
  sub cuecatbarcodedecode {
--- 189,379 ----
      my ($borr) = getpatroninformation(\%env, $res->{'borrowernumber'}, 0);
      my $name = $borr->{'surname'}." ".$borr->{'title'}." ".$borr->{'firstname'};
      my ($iteminfo) = getiteminformation(\%env, 0, $barcode);
  
      if ($res->{'ResFound'} eq "Waiting") {
! 		$template->param(	found => 1,
! 										name => $name,
! 										bornum => $res->{'borrowernumber'},
! 										borcnum => $borr->{'cardnumber'},
! 										branchname => $branches->{$res->{'branchcode'}}->{'branchname'},
! 										waiting => 1,
! 										itemtitle => $iteminfo->{'title'},
! 										itemauthor => $iteminfo->{'author'});
! 
!     }
! 	if ($res->{'ResFound'} eq "Reserved") {
! 		my @da = localtime(time());
! 		my $todaysdate = sprintf ("%0.2d", ($da[3]+1))."/".sprintf ("%0.2d", ($da[4]+1))."/".($da[5]+1900);
! 		$template->param(	found => 1,
! 										branchname => $branches->{$res->{'branchcode'}}->{'branchname'},
! 										reserved => 1,
! 										today => $todaysdate,
! 										itemnum => $res->{'itemnumber'},
! 										itemtitle => $iteminfo->{'title'},
! 										itemauthor => $iteminfo->{'author'},
! 										itembarcode => $iteminfo->{'barcode'},
! 										itemtype => $iteminfo->{'itemtype'},
! 										itembiblionumber => $iteminfo->{'biblionumber'},
! 										borsurname => $borr->{'surname'},
! 										bortitle => $borr->{'title'},
! 										borfirstname => $borr->{'firstname'},
! 										bornum => $res->{'borrowernumber'},
! 										borcnum => $borr->{'cardnumber'},
! 										borphone => $borr->{'phone'},
! 										borstraddress => $borr->{'streetaddress'},
! 										borsub => $borr->{'suburb'},
! 										bortown => $borr->{'town'},
! 										boremail => $borr->{'emailadress'},
! 										barcode => $barcode
! 										);
      }
  }
  
! # Error Messages
! my @errmsgloop;
  foreach my $code (keys %$messages) {
  #    warn $code;
+ 	my %err;
      if ($code eq 'BadBarcode'){
! 		$err{badbarcode}=1;
! 		$err{msg}= $messages->{'BadBarcode'};
      }
      if ($code eq 'NotIssued'){
! 		$err{notissued}=1;
! 		$err{msg}= $branches->{$messages->{'IsPermanent'}}->{'branchname'};
      }
      if ($code eq 'WasLost'){
! 		$err{waslost}=1;
      }
      if ($code eq 'wthdrawn'){
! 		$err{withdrawn}=1;
  	last;
      }
      if (($code eq 'IsPermanent') && (not $messages->{'ResFound'})) {
! 		if ($messages->{'IsPermanent'} ne $branch) {
! 				$err{ispermanent}=1;
! 				$err{msg}=$branches->{$messages->{'IsPermanent'}}->{'branchname'} ;
! 		}
      }
+ 	push (@errmsgloop, \%err);
  }
! $template->param(errmsgloop => \@errmsgloop);
  
  # patrontable ....
  if ($borrower) {
      my $flags = $borrower->{'flags'};
      my $color = '';
+ 	my @flagloop;
+ 	my $flagset;
      foreach my $flag (sort keys %$flags) {
! 		my %flaginfo;
! 		($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1);
! 		unless($flagset) { $flagset=1; }
! 		$flaginfo{color}=$color;
! 		$flaginfo{redfont} =($flags->{$flag}->{'noissues'});
! 		$flaginfo{flag}=$flag;
! 		if ($flag eq 'CHARGES') {
! 			$flaginfo{msg}=$flag;
! 			$flaginfo{charges}=1;
! 		} elsif ($flag eq 'WAITING') {
! 			$flaginfo{msg}=$flag;
! 			$flaginfo{waiting}=1;
! 			my @waitingitemloop;
! 			my $items = $flags->{$flag}->{'itemlist'};
! 			foreach my $item (@$items) {
! 				my ($iteminformation) = getiteminformation(\%env, $item->{'itemnumber'}, 0);
! 				my %waitingitem;
! 				$waitingitem{biblionum}=$iteminformation->{'biblionumber'};
! 				$waitingitem{barcode}=$iteminformation->{'barcode'};
! 				$waitingitem{title}=$iteminformation->{'title'};
! 				$waitingitem{brname}=$branches->{$iteminformation->{'holdingbranch'}}->{'branchname'};
! 				push(@waitingitemloop, \%waitingitem);
! 			}
! 			$flaginfo{itemloop}=\@waitingitemloop;
! 		} elsif ($flag eq 'ODUES') {
! 			my $items = $flags->{$flag}->{'itemlist'};
! 			my @itemloop;
! 			foreach my $item (sort {$a->{'date_due'} cmp $b->{'date_due'}} @$items) {
! 				my ($iteminformation) = getiteminformation(\%env, $item->{'itemnumber'}, 0);
! 				my %overdueitem;
! 				$overdueitem{duedate}=$item->{'date_due'};
! 				$overdueitem{biblionum}=$iteminformation->{'biblionumber'};
! 				$overdueitem{barcode}=$iteminformation->{'barcode'};
! 				$overdueitem{title}=$iteminformation->{'title'};
! 				$overdueitem{brname}=$branches->{$iteminformation->{'holdingbranch'}}->{'branchname'};
! 				push(@itemloop, \%overdueitem);
! 			}
! 			$flaginfo{itemloop}=\@itemloop;
! 			$flaginfo{overdue}=1;
! 			} else {
! 			$flaginfo{other}=1;
! 			$flaginfo{msg}=$flags->{$flag}->{'message'};
! 		}
! 		push(@flagloop, \%flaginfo);
!     }
! 	$template->param(	flagset => $flagset,
! 									flagloop => \@flagloop,
! 									ribornum => $borrower->{'borrowernumber'},
! 									riborcnum => $borrower->{'cardnumber'},
! 									riborsurname => $borrower->{'surname'},
! 									ribortitle => $borrower->{'title'},
! 									riborfirstname => $borrower->{'firstname'}
! 									);
  }
  
  my $color='';
  #set up so only the lat 8 returned items display (make for faster loading pages)
  my $count=0;
+ my @riloop;
  foreach (sort {$a <=> $b} keys %returneditems) {
+ 	my %ri;
      if ($count < 8) {
! 		($color eq $linecolor1) ? ($color=$linecolor2) : ($color=$linecolor1);
! 		$ri{color}=$color;
! 		my $barcode = $returneditems{$_};
! 		my $duedate = $riduedate{$_};
! 		my $overduetext;
          my $borrowerinfo;
! 		if ($duedate) {
! 	    	my @tempdate = split ( /-/ , $duedate ) ;
              my $duedatenz = "$tempdate[2]/$tempdate[1]/$tempdate[0]";
              my @datearr = localtime(time());
!             my $todaysdate = $datearr[5].'-'.sprintf ("%0.2d", ($datearr[4]+1)).'-'.sprintf ("%0.2d", $datearr[3]);
! 	    	my ($borrower) = getpatroninformation(\%env, $riborrowernumber{$_}, 0);
! 			$ri{bornum}=$borrower->{'borrowernumber'};
! 			$ri{borcnum}=$borrower->{'cardnumber'};
! 			$ri{borfirstname}=$borrower->{'firstname'};
! 			$ri{borsurname}=$borrower->{'surname'};
! 			$ri{bortitle}=$borrower->{'title'};
          } else {
! 			$ri{bornum}=$riborrowernumber{$_};
! 		}
! 		my %ri;
! 		my ($iteminformation) = getiteminformation(\%env, 0, $barcode);
! 		$ri{color}=$color;
! 		$ri{itembiblionumber}=$iteminformation->{'biblionumber'};
! 		$ri{itemtitle}=$iteminformation->{'title'};
! 		$ri{itemauthor}=$iteminformation->{'author'};
! 		$ri{itemtype}=$iteminformation->{'itemtype'};
! 		$ri{barcode}=$barcode;
! 	} else {
! 		last;
      }
      $count++;
+ 	push(@riloop,\%ri);
  }
! $template->param(riloop => \@riloop);
  
+ $template->param(	genbrname => $genbrname,
+ 								genprname => $genprname,
+ 								branch => $branch,
+ 								printer => $printer,
+ 								hdrbckgdcolor => $headerbackgroundcolor,
+ 								bckgdimg => $backgroundimage,
+ 								errmsgloop => \@errmsgloop
+ 							);
  
  # actually print the page!
! print $query->header(), $template->output;
  
  sub cuecatbarcodedecode {





More information about the Koha-cvs mailing list