X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=circ%2Fcirculation.pl;h=3d24a4a21dde435f466c8eaca0c595dd6227ad46;hb=0db3cccf87fdb14b5556a8a1044d89a5b2baabc5;hp=c89abff1f8c5741654ff82294bfd3088c0186c83;hpb=722ca127dd0aaf0646001594ebbece18c75d12b1;p=koha_fer diff --git a/circ/circulation.pl b/circ/circulation.pl index c89abff1f8..3d24a4a21d 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -94,10 +94,14 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user ( my $branches = GetBranches(); my @failedrenews = $query->param('failedrenew'); # expected to be itemnumbers -our %renew_failed; +our %renew_failed = (); for (@failedrenews) { $renew_failed{$_} = 1; } -my $findborrower = $query->param('findborrower'); +my @failedreturns = $query->param('failedreturn'); +our %return_failed = (); +for (@failedreturns) { $return_failed{$_} = 1; } + +my $findborrower = $query->param('findborrower') || q{}; $findborrower =~ s|,| |g; my $borrowernumber = $query->param('borrowernumber'); @@ -118,7 +122,7 @@ if (C4::Context->preference("UseTablesortForCirc")) { $template->param(UseTablesortForCirc => 1); } -my $barcode = $query->param('barcode') || ''; +my $barcode = $query->param('barcode') || q{}; $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace $barcode = barcodedecode($barcode) if( $barcode && C4::Context->preference('itemBarcodeInputFilter')); @@ -127,7 +131,7 @@ my $duedatespec = $query->param('duedatespec') || $session->param('stickydu my $issueconfirmed = $query->param('issueconfirmed'); my $cancelreserve = $query->param('cancelreserve'); my $organisation = $query->param('organisations'); -my $print = $query->param('print'); +my $print = $query->param('print') || q{}; my $newexpiry = $query->param('dateexpiry'); my $debt_confirmed = $query->param('debt_confirmed') || 0; # Don't show the debt error dialog twice @@ -148,8 +152,6 @@ if($duedatespec_allow){ if ($duedatespec) { if ($duedatespec =~ C4::Dates->regexp('syspref')) { $datedue = dt_from_string($duedatespec); - $datedue->set_hour(23); - $datedue->set_minute(59); } else { $invalidduedate = 1; $template->param(IMPOSSIBLE=>1, INVALID_DATE=>$duedatespec); @@ -188,8 +190,7 @@ if ( $print eq 'yes' && $borrowernumber ne '' ) { my $borrowerslist; my $message; if ($findborrower) { - my $borrowers = Search($findborrower, 'cardnumber'); - my @borrowers = @$borrowers; + my $borrowers = Search($findborrower, 'cardnumber') || []; if (C4::Context->preference("AddPatronLists")) { $template->param( "AddPatronLists_".C4::Context->preference("AddPatronLists")=> "1", @@ -200,17 +201,17 @@ if ($findborrower) { $template->param(categories=>$categories); } } - if ( $#borrowers == -1 ) { + if ( @$borrowers == 0 ) { $query->param( 'findborrower', '' ); $message = "'$findborrower'"; } - elsif ( $#borrowers == 0 ) { - $query->param( 'borrowernumber', $borrowers[0]->{'borrowernumber'} ); + elsif ( @$borrowers == 1 ) { + $borrowernumber = $borrowers->[0]->{'borrowernumber'}; + $query->param( 'borrowernumber', $borrowernumber ); $query->param( 'barcode', '' ); - $borrowernumber = $borrowers[0]->{'borrowernumber'}; } else { - $borrowerslist = \@borrowers; + $borrowerslist = $borrowers; } } @@ -279,10 +280,12 @@ if ($borrowernumber) { # if ($barcode) { # always check for blockers on issuing - my ( $error, $question ) = + my ( $error, $question, $alerts ) = CanBookBeIssued( $borrower, $barcode, $datedue , $inprocess ); my $blocker = $invalidduedate ? 1 : 0; + $template->param( alert => $alerts ); + delete $question->{'DEBT'} if ($debt_confirmed); foreach my $impossible ( keys %$error ) { $template->param( @@ -417,10 +420,10 @@ if ($borrowernumber) { # make the issued books table. my $todaysissues = ''; my $previssues = ''; -our @todaysissues; -our @previousissues; -our @relissues; -our @relprevissues; +our @todaysissues = (); +our @previousissues = (); +our @relissues = (); +our @relprevissues = (); my $displayrelissues; our $totalprice = 0; @@ -460,8 +463,9 @@ sub build_issue_data { $it->{'od'} = $it->{'overdue'}; ($it->{'author'} eq '') and $it->{'author'} = ' '; $it->{'renew_failed'} = $renew_failed{$it->{'itemnumber'}}; + $it->{'return_failed'} = $return_failed{$it->{'barcode'}}; - if ( $todaysdate eq $it->{'issuedate'} or $todaysdate eq $it->{'lastreneweddate'} ) { + if ( $it->{'issuedate'}."" gt $todaysdate or $it->{'lastreneweddate'} gt $todaysdate ) { (!$relatives) ? push @todaysissues, $it : push @relissues, $it; } else { (!$relatives) ? push @previousissues, $it : push @relprevissues, $it; @@ -536,7 +540,6 @@ foreach my $flag ( sort keys %$flags ) { $flags->{$flag}->{'message'} =~ s#\n#
#g; if ( $flags->{$flag}->{'noissues'} ) { $template->param( - flagged => 1, noissues => 'true', ); if ( $flag eq 'GNA' ) { @@ -568,7 +571,6 @@ foreach my $flag ( sort keys %$flags ) { if ( $flag eq 'CHARGES' ) { $template->param( charges => 'true', - flagged => 1, chargesmsg => $flags->{'CHARGES'}->{'message'}, chargesamount => $flags->{'CHARGES'}->{'amount'}, ); @@ -583,7 +585,6 @@ foreach my $flag ( sort keys %$flags ) { elsif ( $flag eq 'ODUES' ) { $template->param( odues => 'true', - flagged => 1, oduesmsg => $flags->{'ODUES'}->{'message'} ); @@ -595,7 +596,6 @@ foreach my $flag ( sort keys %$flags ) { elsif ( $flag eq 'NOTES' ) { $template->param( notes => 'true', - flagged => 1, notesmsg => $flags->{'NOTES'}->{'message'} ); } @@ -708,7 +708,9 @@ $template->param( soundon => C4::Context->preference("SoundOn"), fast_cataloging => $fast_cataloging, CircAutoPrintQuickSlip => C4::Context->preference("CircAutoPrintQuickSlip"), - activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''), + activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''), + SuspendHoldsIntranet => C4::Context->preference('SuspendHoldsIntranet'), + AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds'), ); # save stickyduedate to session @@ -728,11 +730,9 @@ $template->param( SpecifyDueDate => $duedatespec_allow, CircAutocompl => C4::Context->preference("CircAutocompl"), AllowRenewalLimitOverride => C4::Context->preference("AllowRenewalLimitOverride"), - dateformat => C4::Context->preference("dateformat"), - DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), + export_remove_fields => C4::Context->preference("ExportRemoveFields"), + export_with_csv_profile => C4::Context->preference("ExportWithCsvProfile"), canned_bor_notes_loop => $canned_notes, ); -$template->param( AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds') ); - output_html_with_http_headers $query, $cookie, $template->output;