[Koha-cvs] CVS: koha/opac opac-reserve.pl,1.14,1.15

Paul POULAIN tipaul at users.sourceforge.net
Mon May 5 13:21:33 CEST 2003


Update of /cvsroot/koha/koha/opac
In directory sc8-pr-cvs1:/tmp/cvs-serv15430/opac

Modified Files:
	opac-reserve.pl 
Log Message:
fix for 394

Index: opac-reserve.pl
===================================================================
RCS file: /cvsroot/koha/koha/opac/opac-reserve.pl,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** opac-reserve.pl	29 Apr 2003 16:51:54 -0000	1.14
--- opac-reserve.pl	5 May 2003 11:21:31 -0000	1.15
***************
*** 17,24 ****
  my $MAXIMUM_NUMBER_OF_RESERVES = 5;
  
- my $MAXIMUM_NUMBER_OF_RESERVES = 10;
- 
  my $query = new CGI;
! my ($template, $borrowernumber, $cookie) 
      = get_template_and_user({template_name => "opac-reserve.tmpl",
  			     query => $query,
--- 17,22 ----
  my $MAXIMUM_NUMBER_OF_RESERVES = 5;
  
  my $query = new CGI;
! my ($template, $borrowernumber, $cookie)
      = get_template_and_user({template_name => "opac-reserve.tmpl",
  			     query => $query,
***************
*** 56,60 ****
  $template->param(rank => $rank);
  
- 
  # pass the pickup branch along....
  my $branch = $query->param('branch');
--- 54,57 ----
***************
*** 66,82 ****
  
  # make branch selection options...
! my $branchoptions = '';
  my @branches;
! foreach my $br (keys %$branches) {
!     #(next) unless $branches->{$br}->{'IS'}; # FIXME disabled to fix bug 202
!     my $selected = "";
!     if ($br eq $branch) {
! 	$selected = "selected";
!     }
!     $branchoptions .= "<option value=$br $selected>$branches->{$br}->{'branchname'}</option>\n";
!     push @branches, {branchcode => $br, branchname => $branches->{$br}->{'branchname'}, selected => $selected};
! }
! $template->param( branchoptions => $branchoptions);
! $template->param(BRANCHES => \@branches);
  
  #### THIS IS A BIT OF A HACK BECAUSE THE BIBLIOITEMS DATA IS A LITTLE MESSED UP!
--- 63,81 ----
  
  # make branch selection options...
! #my $branchoptions = '';
  my @branches;
! my @select_branch;
! my %select_branches;
! 
! foreach my $branch (keys %$branches) {
! 	push @select_branch, $branch;
! 	$select_branches{$branch} = $branches->{$branch}->{'branchname'};
! }
! my $CGIbranch=CGI::scrolling_list( -name     => 'branch',
! 			-values   => \@select_branch,
! 			-labels   => \%select_branches,
! 			-size     => 1,
! 			-multiple => 0 );
! $template->param( CGIbranch => $CGIbranch);
  
  #### THIS IS A BIT OF A HACK BECAUSE THE BIBLIOITEMS DATA IS A LITTLE MESSED UP!
***************
*** 173,256 ****
  
  if ($query->param('item_types_selected')) {
! # this is what happens after the itemtypes have been selected. Stage 2
!     my @itemtypes = $query->param('itemtype');
!     my $fee = 0;
!     my $proceed = 0;
!     if (@itemtypes) {
! 	my %newtypes;
! 	foreach my $itmtype (@itemtypes) {
! 	    $newtypes{$itmtype} = $itemtypes{$itmtype};
  	}
! 	my @types = values %newtypes;
! 	$template->param(TYPES => \@types);
  	foreach my $type (@itemtypes) {
! 	    my @reqbibs;
! 	    foreach my $item (@items) {
  		if ($item->{'itemtype'} eq $type) {
! 		    push @reqbibs, $item->{'biblioitemnumber'};
  		}
! 	    }
! 	    $fee += CalcReserveFee(undef,$borrowernumber,$biblionumber,'o',\@reqbibs);
  	}
! 	$proceed = 1;
!     } elsif ($query->param('all')) {
! 	$template->param(all => 1);
! 	$fee = 1;
! 	$proceed = 1;
!     }
!     if ($proceed) {
! 	$fee = sprintf "%.02f", $fee;
! 	$template->param(fee => $fee);
! 	$template->param(item_types_selected => 1);
!     } else {
! 	$template->param(message => 1);
! 	$template->param(no_items_selected => 1);
!     }
! 
! 
! } elsif ($query->param('place_reserve')) {
! # here we actually do the reserveration. Stage 3.
!     my $title = $bibdata->{'title'};
!     my @itemtypes = $query->param('itemtype');
!     foreach my $type (@itemtypes) {
! 	my @reqbibs;
! 	foreach my $item (@items) {
! 	    if ($item->{'itemtype'} eq $type) {
! 		push @reqbibs, $item->{'biblioitemnumber'};
! 	    }
  	}
! 	CreateReserve(undef,$branch,$borrowernumber,$biblionumber,'o',\@reqbibs,$rank,'',$title);
!     }
!     if ($query->param('all')) {
! 	CreateReserve(undef,$branch,$borrowernumber,$biblionumber,'a', undef, $rank,'',$title);
!     }
!     print $query->redirect("/cgi-bin/koha/opac-user.pl");
  } else {
! # Here we check that the borrower can actually make reserves Stage 1.
!     my $noreserves = 0;
!     if ($borr->{'amountoutstanding'} > 5) {
!   	my $amount = sprintf "\$%.02f", $borr->{'amountoutstanding'};
! 	$template->param(message => 1);
! 	$noreserves = 1;
! 	$template->param(too_much_oweing => $amount);
!     }
!     my ($resnum, $reserves) = FindReserves('', $borrowernumber);
!     $template->param(RESERVES => $reserves);
!     if ($resnum >= $MAXIMUM_NUMBER_OF_RESERVES) {
! 	$template->param(message => 1);
! 	$noreserves = 1;
! 	$template->param(too_many_reserves => $resnum);
!     }
!     foreach my $res (@$reserves) {
! 	if ($res->{'biblionumber'} == $biblionumber) {
! 	    $template->param(message => 1);
! 	    $noreserves = 1;
! 	    $template->param(already_reserved => 1);
  	}
-     }
-     unless ($noreserves) {
- 	$template->param(TYPES => \@types_old);
- 	$template->param(select_item_types => 1);
-     }
  }
  
--- 172,255 ----
  
  if ($query->param('item_types_selected')) {
! 	# this is what happens after the itemtypes have been selected. Stage 2
! 	my @itemtypes = $query->param('itemtype');
! 	my $fee = 0;
! 	my $proceed = 0;
! 	if (@itemtypes) {
! 		my %newtypes;
! 		foreach my $itmtype (@itemtypes) {
! 		$newtypes{$itmtype} = $itemtypes{$itmtype};
! 		}
! 		my @types = values %newtypes;
! 		$template->param(TYPES => \@types);
! 		foreach my $type (@itemtypes) {
! 		my @reqbibs;
! 		foreach my $item (@items) {
! 			if ($item->{'itemtype'} eq $type) {
! 			push @reqbibs, $item->{'biblioitemnumber'};
! 			}
! 		}
! 		$fee += CalcReserveFee(undef,$borrowernumber,$biblionumber,'o',\@reqbibs);
! 		}
! 		$proceed = 1;
! 	} elsif ($query->param('all')) {
! 		$template->param(all => 1);
! 		$fee = 1;
! 		$proceed = 1;
! 	}
! 	warn "branch :$branch:";
! 	if ($proceed && $branch) {
! 		$fee = sprintf "%.02f", $fee;
! 		$template->param(fee => $fee);
! 		$template->param(item_types_selected => 1);
! 	} else {
! 		$template->param(message => 1);
! 		$template->param(no_items_selected => 1) unless ($proceed);
! 		$template->param(no_branch_selected =>1) unless ($branch);
  	}
! } elsif ($query->param('place_reserve')) {
! 	# here we actually do the reserveration. Stage 3.
! 	my $title = $bibdata->{'title'};
! 	my @itemtypes = $query->param('itemtype');
  	foreach my $type (@itemtypes) {
! 		my @reqbibs;
! 		foreach my $item (@items) {
  		if ($item->{'itemtype'} eq $type) {
! 			push @reqbibs, $item->{'biblioitemnumber'};
! 		}
  		}
! 		CreateReserve(undef,$branch,$borrowernumber,$biblionumber,'o',\@reqbibs,$rank,'',$title);
  	}
! 	if ($query->param('all')) {
! 		CreateReserve(undef,$branch,$borrowernumber,$biblionumber,'a', undef, $rank,'',$title);
  	}
! 	print $query->redirect("/cgi-bin/koha/opac-user.pl");
  } else {
! 	# Here we check that the borrower can actually make reserves Stage 1.
! 	my $noreserves = 0;
! 	if ($borr->{'amountoutstanding'} > 5) {
! 		my $amount = sprintf "\$%.02f", $borr->{'amountoutstanding'};
! 		$template->param(message => 1);
! 		$noreserves = 1;
! 		$template->param(too_much_oweing => $amount);
! 	}
! 	my ($resnum, $reserves) = FindReserves('', $borrowernumber);
! 	$template->param(RESERVES => $reserves);
! 	if ($resnum >= $MAXIMUM_NUMBER_OF_RESERVES) {
! 		$template->param(message => 1);
! 		$noreserves = 1;
! 		$template->param(too_many_reserves => $resnum);
! 	}
! 	foreach my $res (@$reserves) {
! 		if ($res->{'biblionumber'} == $biblionumber) {
! 		$template->param(message => 1);
! 		$noreserves = 1;
! 		$template->param(already_reserved => 1);
! 		}
! 	}
! 	unless ($noreserves) {
! 		$template->param(TYPES => \@types_old);
! 		$template->param(select_item_types => 1);
  	}
  }
  





More information about the Koha-cvs mailing list