X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=request.pl;h=1f28e766d5fd3886f487835efac306b94f993a2d;hb=0d1f848afa3b616317555fe507148526221f605c;hp=2f75994b263ccd123d28f1a80abee3d48fd83cb6;hpb=8dbee92c1013dcd76b800a48f207fecffae6d7bd;p=koha.git diff --git a/request.pl b/request.pl index 2f75994b26..1f28e766d5 100755 --- a/request.pl +++ b/request.pl @@ -24,15 +24,19 @@ # Suite 330, Boston, MA 02111-1307 USA use strict; -#use DBI; use C4::Search; use C4::Output; +use C4::Interface::CGI::Output; +use C4::Auth; use C4::Reserves2; -use C4::Acquisitions; +use C4::Biblio; use C4::Koha; use C4::Circulation::Circ2; - +use HTML::Template; +use C4::Acquisition; use CGI; +use C4::Date; + my $input = new CGI; # get biblio information.... @@ -50,258 +54,143 @@ foreach my $res (@$reserves) { # make priorities options my $num = $count + 1; -my $priorityoptions = priorityoptions($num, $num); - - -# get branch information -my $branch = $input->cookie('branch'); -($branch) || ($branch = 'L'); -my $branches = getbranches(); -my $branchoptions = branchoptions($branch); +#priorityoptions building +my @optionloop; +for (my $i=1; $i<=$num; $i++){ + my %option; + $option{num}=$i; + $option{selected}=($i==$num); + push(@optionloop, \%option); +} # todays date my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime(time); $year=$year+1900; $mon++; -my $date="$mday/$mon/$year"; - - +my $date=format_date("$year-$mon-$mday"); # get biblioitem information and build rows for form my ($count2,@data) = bibitems($bib); -my $bibitemrows = ""; - +my @bibitemloop; foreach my $dat (sort {$b->{'dateaccessioned'} cmp $a->{'dateaccessioned'}} @data) { - my @barcodes = barcodes($dat->{'biblioitemnumber'}); - my $barcodestext = ""; - foreach my $num (@barcodes) { - my $message = $num->{'itemlost'} == 1 ? "(lost)" : - $num->{'itemlost'} == 2 ? "(long overdue)" : ""; - $barcodestext .= "$num->{'barcode'} $message
"; - } - $barcodestext = substr($barcodestext, 0, -4); - $dat->{'dewey'}="" if ($dat->{'dewey'} == 0); - $dat->{'volumeddesc'} = " " unless $dat->{'volumeddesc'}; $dat->{'dewey'}=~ s/\.0000$//; $dat->{'dewey'}=~ s/00$//; - my $class="$dat->{'classification'}$dat->{'dewey'}$dat->{'subclass'}"; - my $select; - if (($dat->{'notforloan'}) - || ($dat->{'itemlost'} == 1)) { - $select = "Cannot be reserved."; - } else { - $select = " {'biblioitemnumber'}>{'biblioitemnumber'}>"; + + my %abibitem; + my @barcodeloop; + my @barcodes = barcodes($dat->{'biblioitemnumber'}); + foreach my $num (@barcodes) { + my %barcode; + $barcode{'barcode'}=$num->{'barcode'}; + $barcode{'message'}=$num->{'itemlost'} == 1 ? "(lost)" : + $num->{'itemlost'} == 2 ? "(long overdue)" : ""; + push(@barcodeloop, \%barcode); } - $bibitemrows .= <<"EOF"; - -$select -$dat->{'description'} -$class -$dat->{'volumeddesc'} -$dat->{'publicationyear'} -$barcodestext - -EOF + $abibitem{'barcodeloop'}=\@barcodeloop; + $abibitem{'class'}="$dat->{'classification'}$dat->{'dewey'}$dat->{'subclass'}"; + my $select; + $abibitem{'itemlost'}=(($dat->{'notforloan'})|| ($dat->{'itemlost'} == 1)) ; + $abibitem{'biblioitemnumber'}=$dat->{'biblioitemnumber'}; + $abibitem{'description'}=$dat->{'description'}; + $abibitem{'volumeddesc'}=$dat->{'volumeddesc'}; + $abibitem{'publicationyear'}=$dat->{'publicationyear'}; + push(@bibitemloop,\%abibitem); } - -my $existingreserves = ""; +#existingreserves building +my @reserveloop; +my $branches = getbranches(); foreach my $res (sort {$a->{'found'} cmp $b->{'found'}} @$reserves){ - my $prioropt = priorityoptions($totalcount, $res->{'priority'}); - my $bropt = branchoptions($res->{'branchcode'}); - my $bor=$res->{'borrowernumber'}; - $date = slashifyDate($res->{'reservedate'}); - - my $type=$res->{'constrainttype'}; - if ($type eq 'a'){ - $type='Next Available'; - } elsif ($type eq 'o'){ - $type="This type only $res->{'volumeddesc'} $res->{'itemtype'}"; - } + my %reserve; +# my $prioropt = priorityoptions($totalcount, $res->{'priority'}); + my @optionloop; + for (my $i=1; $i<=$totalcount; $i++){ + my %option; + $option{num}=$i; + $option{selected}=($i==$res->{'priority'}); + push(@optionloop, \%option); + } + my @branchloop; + foreach my $br (keys %$branches) { +# (next) unless $branches->{$br}->{'IS'}; + # Only branches with the 'IS' branchrelation + # can issue books + my %abranch; + $abranch{'selected'}=($br eq $res->{'branchcode'}); + $abranch{'branch'}=$br; + $abranch{'branchname'}=$branches->{$br}->{'branchname'}; + push(@branchloop,\%abranch); + } - my $notes = $res->{'reservenotes'}." "; - my $rank; - my $pickup; if ($res->{'found'} eq 'W') { - my %env; - my $item = $res->{'itemnumber'}; - $item = getiteminformation(\%env,$item); - $item = "{'biblionumber'} &type=intra onClick=\"openWindow(this, 'Item', 480, 640)\">$item->{'barcode'}"; - my $wbrcd = $res->{'branchcode'}; - my $wbra = $branches->{$wbrcd}->{'branchname'}; - $type = $item; - $rank = ""; - $pickup = "Item waiting at ".$wbra." "; - } else { - $rank = ""; - $pickup = ""; + my %env; + my $item = $res->{'itemnumber'}; + $item = getiteminformation(\%env,$item); + $reserve{'barcode'}=$item->{'barcode'}; + $reserve{'biblionumber'}=$item->{'biblionumber'}; + $reserve{'wbrcode'} = $res->{'branchcode'}; + $reserve{'wbrname'} = $branches->{$res->{'branchcode'}}->{'branchname'}; } - $existingreserves .= <<"EOF"; - - -{'borrowernumber'}> -{'biblionumber'}> -$rank - -$res->{'firstname'} $res->{'surname'} - -$notes -$date -$pickup -$type - -EOF + $reserve{'date'} = format_date($res->{'reservedate'}); + $reserve{'borrowernumber'}=$res->{'borrowernumber'}; + $reserve{'biblionumber'}=$res->{'biblionumber'}; + $reserve{'bornum'}=$res->{'borrowernumber'}; + $reserve{'firstname'}=$res->{'firstname'}; + $reserve{'surname'}=$res->{'surname'}; + $reserve{'bornum'}=$res->{'borrowernumber'}; + $reserve{'notes'}=$res->{'reservenotes'}; + $reserve{'wait'}=($res->{'found'} eq 'W'); + $reserve{'constrainttypea'}=($res->{'constrainttype'} eq 'a'); + $reserve{'constrainttypeo'}=($res->{'constrainttype'} eq 'o'); + $reserve{'voldesc'}=$res->{'volumeddesc'}; + $reserve{'itemtype'}=$res->{'itemtype'}; + $reserve{'branchloop'}=\@branchloop; + $reserve{'optionloop'}=\@optionloop; + push(@reserveloop,\%reserve); } - - -sub priorityoptions { - my ($count, $sel) = @_; - my $out = ""; - for (my $i=1; $i<=$count; $i++){ - $out .= "\n"; - } - return $out; -} - +my $CGIbranch=CGI::scrolling_list( -name => 'pickup', + -values => \@select_branch, + -labels => \%select_branches, + -size => 1, + -multiple => 0 ); #get the time for the form name... my $time = time(); - -# printout the page - - - - -print $input->header(-expires=>'now'); - - #setup colours -print startmenu('catalogue'); - - - - -print < - - - - -Requesting:
-$dat->{'title'} -($dat->{'author'})

-

- - - - - - - - - - - - - - - - - - - - - -
RankMember NumberNotesDatePickupRequest
$dateNext Available, -
(or choose from list below)
- - - - - - - - - - - - - -$bibitemrows -
RequestItem TypeClassificationVolumePubdateCopies
- - -

 

- - - - - -
- - - - - - - - - - - - - - - - -$existingreserves - - - -
MODIFY EXISTING REQUESTS
RankMemberNotesDatePickupRequest
-Delete a request by selecting "del" from the rank list. -
-

-
-

- -printend -; - -print endmenu(); -print endpage(); +my ($template, $borrowernumber, $cookie) + = get_template_and_user({template_name => "request.tmpl", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => {parameters => 1}, + }); +$template->param( optionloop =>\@optionloop, + CGIbranch => $CGIbranch, + reserveloop => \@reserveloop, + 'time' => $time, + bibitemloop => \@bibitemloop, + date => $date, + bib => $bib, + title =>$dat->{title}); +# printout the page +print $input->header( + -type => C4::Interface::CGI::Output::guesstype($template->output), + -expires=>'now' +), $template->output;