X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-renew.pl;h=ca58f3ded8ff56cd1312d4dd3ba74f3cdcbe7754;hb=5d6c092921919526ade501facb1220f8a108a08f;hp=a84be259ed4067e1f34779c577786a42805d3fff;hpb=b06a289173d0f2e299b0c8652d59d47dc196062c;p=koha_fer diff --git a/opac/opac-renew.pl b/opac/opac-renew.pl index a84be259ed..ca58f3ded8 100755 --- a/opac/opac-renew.pl +++ b/opac/opac-renew.pl @@ -3,7 +3,7 @@ #written 18/1/2000 by chris@katipo.co.nz # adapted for use in the hlt opac by finlay@katipo.co.nz 29/11/2002 # script to renew items from the web -# Parts Copyright 2010 Catalyst IT +# Parts Copyright 2010,2011 Catalyst IT # This file is part of Koha. # @@ -16,9 +16,9 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; @@ -27,7 +27,10 @@ use warnings; use CGI; use C4::Circulation; use C4::Auth; - +use C4::Context; +use C4::Items; +use C4::Members; +use Date::Calc qw( Today Date_to_Days ); my $query = new CGI; my ( $template, $borrowernumber, $cookie ) = get_template_and_user( @@ -41,17 +44,47 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( } ); my @items = $query->param('item'); -$borrowernumber = $query->param('borrowernumber') || $query->param('bornum'); + my $opacrenew = C4::Context->preference("OpacRenewalAllowed"); my $errorstring=''; -for my $itemnumber ( @items ) { - my ($status,$error) = CanBookBeRenewed( $borrowernumber, $itemnumber ); - if ( $status == 1 && $opacrenew == 1 ) { - AddRenewal( $borrowernumber, $itemnumber ); - } - else { - $errorstring .= $error ."|"; +my $member_details = GetMemberDetails($borrowernumber); + +if ( $member_details->{'BlockExpiredPatronOpacActions'} + && $member_details->{'is_expired'} ) +{ + $errorstring = 'card_expired'; +} +else { + for my $itemnumber (@items) { + my ( $status, $error ) = + CanBookBeRenewed( $borrowernumber, $itemnumber ); + if ( $status == 1 && $opacrenew == 1 ) { + my $renewalbranch = C4::Context->preference('OpacRenewalBranch'); + my $branchcode; + if ( $renewalbranch eq 'itemhomebranch' ) { + my $item = GetItem($itemnumber); + $branchcode = $item->{'homebranch'}; + } + elsif ( $renewalbranch eq 'patronhomebranch' ) { + my $borrower = GetMemberDetails($borrowernumber); + $branchcode = $borrower->{'branchcode'}; + } + elsif ( $renewalbranch eq 'checkoutbranch' ) { + my $issue = GetOpenIssue($itemnumber); + $branchcode = $issue->{'branchcode'}; + } + elsif ( $renewalbranch eq 'NULL' ) { + $branchcode = ''; + } + else { + $branchcode = 'OPACRenew'; + } + AddRenewal( $borrowernumber, $itemnumber, $branchcode ); + } + else { + $errorstring .= $error . "|"; + } } }