X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=circ%2Fwaitingreservestransfers.pl;h=102a0385ad4d2fb55a25649394dca9dd49b5b6e3;hb=b71839d85c8cfcaf6c4fa467449cabe5761d987b;hp=c5fcaf16adfc6a5c151ab5bb4535a6e0678db00b;hpb=f3fd911dc89d205d0fece785fc2d5d8decb9563b;p=koha-ffzg.git diff --git a/circ/waitingreservestransfers.pl b/circ/waitingreservestransfers.pl index c5fcaf16ad..102a0385ad 100755 --- a/circ/waitingreservestransfers.pl +++ b/circ/waitingreservestransfers.pl @@ -23,105 +23,129 @@ use strict; use C4::Context; use C4::Output; use CGI; -use HTML::Template; +use C4::Branch; # GetBranches use C4::Auth; use C4::Date; -use C4::Circulation::Circ2; -use Date::Manip; +use C4::Circulation; +use C4::Reserves2; +use C4::Members; +use Date::Calc qw( + Today + Add_Delta_Days + Date_to_Days +); use C4::Koha; use C4::Biblio; my $input = new CGI; -my $theme = $input->param('theme'); # only used if allowthemeoverride is set - -my ($template, $loggedinuser, $cookie) - = get_template_and_user({template_name => "circ/waitingreservestransfers.tmpl", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => {borrowers => 1}, - debug => 1, - }); - +my ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "circ/waitingreservestransfers.tmpl", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => { circulate => 1 }, + debug => 1, + } +); # set the userenv branch my $default = C4::Context->userenv->{'branch'}; +my @datearr = localtime( time() ); +my $todaysdate = + ( 1900 + $datearr[5] ) . '-' + . sprintf( "%0.2d", ( $datearr[4] + 1 ) ) . '-' + . sprintf( "%0.2d", $datearr[3] ); -my @datearr = localtime(time()); -my $todaysdate = (1900+$datearr[5]).'-'.sprintf ("%0.2d", ($datearr[4]+1)).'-'.sprintf ("%0.2d", $datearr[3]); +my $item = $input->param('itemnumber'); +my $fbr = $input->param('fbr'); +my $tbr = $input->param('tbr'); -my $item=$input->param('itemnumber'); -my $fbr=$input->param('fbr'); -my $tbr=$input->param('tbr'); # If we have a return of the form dotransfer, we launch the subroutine dotransfer -if ($item){ - C4::Circulation::Circ2::dotransfer($item,$fbr,$tbr); +if ($item) { + C4::Circulation::Circ2::dotransfer( $item, $fbr, $tbr ); } # get the all the branches for reference -my $branches = getbranches(); +my $branches = GetBranches(); + my @branchesloop; -foreach my $br (keys %$branches) { - my @reservloop; - my %branchloop; - $branchloop{'branchname'} = $branches->{$br}->{'branchname'}; - $branchloop{'branchcode'} = $branches->{$br}->{'branchcode'}; - my @getreserves = GetReservesToBranch($branches->{$br}->{'branchcode'},$default); - if (@getreserves){ - foreach my $num (@getreserves) { - my %getreserv; - my %env; - my $gettitle = getiteminformation(\%env,$num->{'itemnumber'}); - my $itemtypeinfo = getitemtypeinfo($gettitle->{'itemtype'}); - if ($gettitle->{'holdingbranch'} eq $default){ - my $getborrower = getpatroninformation (\%env,$num->{'borrowernumber'}); - $getreserv{'reservedate'} = format_date($num->{'reservedate'}); - my $calcDate=DateCalc($num->{'reservedate'},"+".C4::Context->preference('MaxDaysRecoveryReserves')." days"); - my $warning=Date_Cmp(ParseDate("today"),$calcDate); - if ($warning>0){ - $getreserv{'messcompa'} = 1; - } - $getreserv{'title'} = $gettitle->{'title'}; - $getreserv{'biblionumber'} = $gettitle->{'biblionumber'}; - $getreserv{'itemnumber'} = $gettitle->{'itemnumber'}; - $getreserv{'barcode'} = $gettitle->{'barcode'}; - $getreserv{'itemtype'} = $itemtypeinfo->{'description'}; - $getreserv{'holdingbranch'} = $gettitle->{'holdingbranch'}; - $getreserv{'itemcallnumber'} = $gettitle->{'itemcallnumber'}; - $getreserv{'borrowernum'} = $getborrower->{'borrowernumber'}; - $getreserv{'borrowername'} = $getborrower->{'surname'}; - $getreserv{'borrowerfirstname'} = $getborrower->{'firstname'} ; - if ($getborrower->{'emailaddress'}){ - $getreserv{'borrowermail'} = $getborrower->{'emailaddress'} ; - } - $getreserv{'borrowerphone'} = $getborrower->{'phone'}; - push(@reservloop, \%getreserv); - } - } -# If we have a return of reservloop we put it in the branchloop sequence - if (@reservloop){ - $branchloop{'reserv'} = \@reservloop ; - } -# else, we unset the value of the branchcode . - else{ - $branchloop{'branchcode'} = 0; - } - } - else { +foreach my $br ( keys %$branches ) { + my @reservloop; + my %branchloop; + $branchloop{'branchname'} = $branches->{$br}->{'branchname'}; + $branchloop{'branchcode'} = $branches->{$br}->{'branchcode'}; + my @getreserves = + GetReservesToBranch( $branches->{$br}->{'branchcode'} ); + if (@getreserves) { + foreach my $num (@getreserves) { + my %getreserv; + my %env; + my $gettitle = GetBiblioFromItemNumber( $num->{'itemnumber'} ); +# use Data::Dumper; +# warn Dumper($gettitle); + warn "ITEM : ".$gettitle->{'title'}; + my $itemtypeinfo = getitemtypeinfo( $gettitle->{'itemtype'} ); + if ( $gettitle->{'holdingbranch'} eq $default ) { + my $getborrower = + GetMemberDetails( $num->{'borrowernumber'} ); + $getreserv{'reservedate'} = + format_date( $num->{'reservedate'} ); + my ( $reserve_year, $reserve_month, $reserve_day ) = split /-/, + $num->{'reservedate'}; + ( $reserve_year, $reserve_month, $reserve_day ) = + Add_Delta_Days( $reserve_year, $reserve_month, $reserve_day, + C4::Context->preference('ReservesMaxPickUpDelay')); + my $calcDate = + Date_to_Days( $reserve_year, $reserve_month, $reserve_day ); + my $today = Date_to_Days(&Today); + my $warning = ( $today > $calcDate ); + + if ( $warning > 0 ) { + $getreserv{'messcompa'} = 1; + } + $getreserv{'title'} = $gettitle->{'title'}; + $getreserv{'biblionumber'} = $gettitle->{'biblionumber'}; + $getreserv{'itemnumber'} = $gettitle->{'itemnumber'}; + $getreserv{'barcode'} = $gettitle->{'barcode'}; + $getreserv{'itemtype'} = $itemtypeinfo->{'description'}; + $getreserv{'holdingbranch'} = $gettitle->{'holdingbranch'}; + $getreserv{'itemcallnumber'} = $gettitle->{'itemcallnumber'}; + $getreserv{'borrowernum'} = $getborrower->{'borrowernumber'}; + $getreserv{'borrowername'} = $getborrower->{'surname'}; + $getreserv{'borrowerfirstname'} = $getborrower->{'firstname'}; + $getreserv{'borrowermail'} = $getborrower->{'emailaddress'}; + $getreserv{'borrowerphone'} = $getborrower->{'phone'}; + push( @reservloop, \%getreserv ); + warn "=".$getreserv{'title'}.">>".$gettitle->{'title'}; + } + } + + # If we have a return of reservloop we put it in the branchloop sequence + if (@reservloop) { + $branchloop{'reserv'} = \@reservloop; + } + + # else, we unset the value of the branchcode . + else { + $branchloop{'branchcode'} = 0; + } + } + else { + # if we don't have a retrun from reservestobranch we unset branchname and branchcode - $branchloop{'branchname'} = 0; - $branchloop{'branchcode'} = 0; - } - push(@branchesloop, \%branchloop); + $branchloop{'branchname'} = 0; + $branchloop{'branchcode'} = 0; + } + push( @branchesloop, \%branchloop ); } - $template->param( branchesloop => \@branchesloop, - show_date => format_date($todaysdate) - ); - - print "Content-Type: text/html\n\n", $template->output; - +$template->param( + branchesloop => \@branchesloop, + show_date => format_date($todaysdate) +); +print "Content-Type: text/html\n\n", $template->output;