X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Fopac-user.pl;h=995db7b0111b510bce0588afb9f753f6fa16cfce;hb=c52bc9756a5fa1e4f6bba7ce5c58124f150c5efc;hp=7ca64bdd37fd5751b455f33646acbfdca24e3745;hpb=acf862ba6261c8f64bd0e7c8e5a1762eecefd703;p=koha.git diff --git a/opac/opac-user.pl b/opac/opac-user.pl index 7ca64bdd37..995db7b011 100755 --- a/opac/opac-user.pl +++ b/opac/opac-user.pl @@ -20,7 +20,7 @@ use strict; #use warnings; FIXME - Bug 2505 -use CGI; +use CGI qw ( -utf8 ); use C4::Auth; use C4::Koha; @@ -35,6 +35,7 @@ use C4::Items; use C4::Letters; use C4::Branch; # GetBranches use Koha::DateUtils; +use Koha::Borrower::Debarments qw(IsDebarred); use constant ATTRIBUTE_SHOW_BARCODE => 'SHOW_BCODE'; @@ -55,7 +56,7 @@ BEGIN { my ( $template, $borrowernumber, $cookie ) = get_template_and_user( { - template_name => "opac-user.tmpl", + template_name => "opac-user.tt", query => $query, type => "opac", authnotrequired => 0, @@ -64,13 +65,18 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( } ); +my %renewed = map { $_ => 1 } split( ':', $query->param('renewed') ); + my $show_priority; for ( C4::Context->preference("OPACShowHoldQueueDetails") ) { m/priority/ and $show_priority = 1; } + my $patronupdate = $query->param('patronupdate'); my $canrenew = 1; +$template->param( shibbolethAuthentication => C4::Context->config('useshibboleth') ); + # get borrower information .... my ( $borr ) = GetMemberDetails( $borrowernumber ); @@ -79,7 +85,7 @@ my ($warning_year, $warning_month, $warning_day) = split /-/, $borr->{'dateexpir $borr->{'ethnicity'} = fixEthnicity( $borr->{'ethnicity'} ); -my $debar = $borr->{'debarred'}; +my $debar = IsDebarred($borrowernumber); my $userdebarred; if ($debar) { @@ -124,19 +130,22 @@ my @bordat; $bordat[0] = $borr; # Warningdate is the date that the warning starts appearing -if ( $borr->{dateexpiry} && Date_to_Days( $today_year, $today_month, $today_day ) > Date_to_Days( $warning_year, $warning_month, $warning_day ) ) { - $borr->{'warnexpired'} = 1; -} -elsif ( $borr->{dateexpiry} && C4::Context->preference('NotifyBorrowerDeparture') && - Date_to_Days(Add_Delta_Days($warning_year, $warning_month, $warning_day,- C4::Context->preference('NotifyBorrowerDeparture'))) < - Date_to_Days( $today_year, $today_month, $today_day ) ) { +if ( $borr->{'dateexpiry'} && C4::Context->preference('NotifyBorrowerDeparture') ) { + my $days_to_expiry = Date_to_Days( $warning_year, $warning_month, $warning_day ) - Date_to_Days( $today_year, $today_month, $today_day ); + if ( $days_to_expiry < 0 ) { + #borrower card has expired, warn the borrower + $borr->{'warnexpired'} = $borr->{'dateexpiry'}; + } elsif ( $days_to_expiry < C4::Context->preference('NotifyBorrowerDeparture') ) { # borrower card soon to expire, warn the borrower $borr->{'warndeparture'} = $borr->{dateexpiry}; if (C4::Context->preference('ReturnBeforeExpiry')){ $borr->{'returnbeforeexpiry'} = 1; } + } } +# pass on any renew errors to the template for displaying +my $renew_error = $query->param('renew_error'); $template->param( BORROWER_INFO => \@bordat, borrowernumber => $borrowernumber, @@ -144,6 +153,8 @@ $template->param( BORROWER_INFO => \@bordat, OPACMySummaryHTML => (C4::Context->preference("OPACMySummaryHTML")) ? 1 : 0, surname => $borr->{surname}, showname => $borr->{showname}, + RENEW_ERROR => $renew_error, + borrower => $borr, ); #get issued items .... @@ -183,9 +194,13 @@ if ($issues){ $issue->{'status'} = $status; } + $issue->{'renewed'} = $renewed{ $issue->{'itemnumber'} }; + if ($renewerror) { - $issue->{'too_many'} = 1 if $renewerror eq 'too_many'; - $issue->{'on_reserve'} = 1 if $renewerror eq 'on_reserve'; + $issue->{'too_many'} = 1 if $renewerror eq 'too_many'; + $issue->{'on_reserve'} = 1 if $renewerror eq 'on_reserve'; + $issue->{'auto_renew'} = 1 if $renewerror eq 'auto_renew'; + $issue->{'auto_too_soon'} = 1 if $renewerror eq 'auto_too_soon'; if ( $renewerror eq 'too_soon' ) { $issue->{'too_soon'} = 1; @@ -273,6 +288,8 @@ foreach my $res (@reserves) { $res->{'branch'} = $branches->{ $res->{'branchcode'} }->{'branchname'}; my $biblioData = GetBiblioData($res->{'biblionumber'}); $res->{'reserves_title'} = $biblioData->{'title'}; + $res->{'author'} = $biblioData->{'author'}; + if ($show_priority) { $res->{'priority'} ||= ''; }