View | Details | Raw Unified | Return to bug 8236
Collapse All | Expand All

(-)a/C4/Circulation.pm (-2 / +3 lines)
Lines 2417-2423 already renewed the loan. $error will contain the reason the renewal can not pro Link Here
2417
sub CanBookBeRenewed {
2417
sub CanBookBeRenewed {
2418
2418
2419
    # check renewal status
2419
    # check renewal status
2420
    my ( $borrowernumber, $itemnumber, $override_limit ) = @_;
2420
    my ( $borrowernumber, $itemnumber, $override_limit, $overdue, $overduesblockrenew ) = @_;
2421
    my $dbh       = C4::Context->dbh;
2421
    my $dbh       = C4::Context->dbh;
2422
    my $renews    = 1;
2422
    my $renews    = 1;
2423
    my $renewokay = 0;
2423
    my $renewokay = 0;
Lines 2466-2472 sub CanBookBeRenewed { Link Here
2466
    if ( my $data1 = $sthcount->fetchrow_hashref ) {
2466
    if ( my $data1 = $sthcount->fetchrow_hashref ) {
2467
        
2467
        
2468
        if ( ( $data1->{renewalsallowed} && $data1->{renewalsallowed} > $data1->{renewals} ) || $override_limit ) {
2468
        if ( ( $data1->{renewalsallowed} && $data1->{renewalsallowed} > $data1->{renewals} ) || $override_limit ) {
2469
            $renewokay = 1;
2469
            $renewokay =  ($overduesblockrenew eq 'blockitem' and $overdue and !$override_limit)? 0 : 1;
2470
            $error = 'overdue' unless $renewokay;
2470
        }
2471
        }
2471
        else {
2472
        else {
2472
			$error="too_many";
2473
			$error="too_many";
(-)a/C4/ILSDI/Services.pm (-1 / +11 lines)
Lines 555-561 sub RenewLoan { Link Here
555
    return { code => 'RecordNotFound' } unless $$item{itemnumber};
555
    return { code => 'RecordNotFound' } unless $$item{itemnumber};
556
556
557
    # Add renewal if possible
557
    # Add renewal if possible
558
    my @renewal = CanBookBeRenewed( $borrowernumber, $itemnumber );
558
    my $issue = GetItemIssue($itemnumber);
559
    # Check for overdue on this document
560
    my $dt_due = $issue->{'date_due'}->truncate( to => 'day' );
561
    my $dt_today = DateTime->now( time_zone => C4::Context->tz() );
562
    my $overdue = 1 if DateTime->compare( $dt_today,$dt_due  ) == 1;
563
    # Check if any of patron's documents is late
564
    my ($memberblocked) = C4::Members::IsMemberBlocked($borrowernumber);
565
    # Is renewal allowed on overdue documents ?
566
    my $overduesblockrenew = C4::Context->preference('OverduesBlockRenew');
567
    my $norenewal = 1 if ( $overduesblockrenew eq 'blockall' and $memberblocked == -1 ) or ( $overduesblockrenew eq 'blockitem' and $overdue ) or $memberblocked == 1;# last to check if patron is restricted
568
    my @renewal = $norenewal ? (0,'overdue') : CanBookBeRenewed( $borrowernumber, $itemnumber );
559
    if ( $renewal[0] ) { AddRenewal( $borrowernumber, $itemnumber ); }
569
    if ( $renewal[0] ) { AddRenewal( $borrowernumber, $itemnumber ); }
560
570
561
    my $issue = GetItemIssue($itemnumber);
571
    my $issue = GetItemIssue($itemnumber);
(-)a/circ/circulation.pl (-3 / +9 lines)
Lines 429-434 my $displayrelissues; Link Here
429
429
430
our $totalprice = 0;
430
our $totalprice = 0;
431
431
432
# Check if any of patron's documents is late
433
my ($memberblocked) = C4::Members::IsMemberBlocked($borrowernumber);
434
# and if renewal is allowed in that case
435
my $overduesblockrenew = C4::Context->preference('OverduesBlockRenew');
436
my $norenewal = 1 if $overduesblockrenew eq 'blockall' and $memberblocked == -1;
437
$template->param( norenewal => 1 ) if $overduesblockrenew ne 'allow';
438
432
sub build_issue_data {
439
sub build_issue_data {
433
    my $issueslist = shift;
440
    my $issueslist = shift;
434
    my $relatives = shift;
441
    my $relatives = shift;
Lines 444-452 sub build_issue_data { Link Here
444
            $it->{'itemnumber'}, $it->{'borrowernumber'}
451
            $it->{'itemnumber'}, $it->{'borrowernumber'}
445
        );
452
        );
446
        $it->{'charge'} = sprintf("%.2f", $it->{'charge'});
453
        $it->{'charge'} = sprintf("%.2f", $it->{'charge'});
447
        my ($can_renew, $can_renew_error) = CanBookBeRenewed( 
454
        my ($can_renew, $can_renew_error) = $norenewal ? (0, 'overdue') : CanBookBeRenewed(
448
            $it->{'borrowernumber'},$it->{'itemnumber'}
455
        $it->{'borrowernumber'},$it->{'itemnumber'}, undef, $it->{'overdue'}, $overduesblockrenew);
449
        );
450
        $it->{"renew_error_${can_renew_error}"} = 1 if defined $can_renew_error;
456
        $it->{"renew_error_${can_renew_error}"} = 1 if defined $can_renew_error;
451
        my ( $restype, $reserves, undef ) = CheckReserves( $it->{'itemnumber'} );
457
        my ( $restype, $reserves, undef ) = CheckReserves( $it->{'itemnumber'} );
452
        $it->{'can_renew'} = $can_renew;
458
        $it->{'can_renew'} = $can_renew;
(-)a/installer/data/mysql/sysprefs.sql (+1 lines)
Lines 386-388 INSERT INTO systempreferences (variable,value,explanation,type) VALUES('OPACdidy Link Here
386
INSERT INTO systempreferences (variable,value,explanation,type) VALUES('INTRAdidyoumean',NULL,'Did you mean? configuration for the Intranet. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');
386
INSERT INTO systempreferences (variable,value,explanation,type) VALUES('INTRAdidyoumean',NULL,'Did you mean? configuration for the Intranet. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');
387
INSERT INTO systempreferences (variable, value, options, explanation, type) VALUES ('BlockReturnOfWithdrawnItems', '1', '0', 'If enabled, items that are marked as withdrawn cannot be returned.', 'YesNo');
387
INSERT INTO systempreferences (variable, value, options, explanation, type) VALUES ('BlockReturnOfWithdrawnItems', '1', '0', 'If enabled, items that are marked as withdrawn cannot be returned.', 'YesNo');
388
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HoldsToPullStartDate','2','Set the default start date for the Holds to pull list to this many days ago',NULL,'Integer');
388
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HoldsToPullStartDate','2','Set the default start date for the Holds to pull list to this many days ago',NULL,'Integer');
389
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OverduesBlockRenew','allow','If any of patron\'s checked out documents is late, should renewal be allowed, blocked only on overdue items or blocked on whatever checked out document','allow|blockitem|blockall','Choice');
(-)a/installer/data/mysql/updatedatabase.pl (+7 lines)
Lines 6002-6007 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
6002
    SetVersion($DBversion);
6002
    SetVersion($DBversion);
6003
}
6003
}
6004
6004
6005
$DBversion = "3.09.00.061";
6006
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
6007
    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OverduesBlockRenew','allow','If any of a patron\'s checked out documents is late, should renewal be allowed, blocked only on overdue items or blocked on whatever checked out document','allow|blockitem|blockall','Choice')");
6008
    print "Upgrade to $DBversion done (Add system preference BlockRenewal ))\n";
6009
    SetVersion($DBversion);
6010
}
6011
6005
=head1 FUNCTIONS
6012
=head1 FUNCTIONS
6006
6013
6007
=head2 TableExists($table)
6014
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (+8 lines)
Lines 276-281 Circulation: Link Here
276
                  confirmation: Ask for confirmation
276
                  confirmation: Ask for confirmation
277
            - when checking out to a borrower that has overdues outstanding	    
277
            - when checking out to a borrower that has overdues outstanding	    
278
        -
278
        -
279
            - If any of a patron's checked out documents is late, the renewal is
280
            - pref: OverduesBlockRenew
281
              type: choice
282
              choices:
283
                  allow: allowed
284
                  blockall: blocked on whatever of his checked out documents
285
                  blockitem: blocked only on the overdue items
286
        -
279
            - On checkin route the returned item to
287
            - On checkin route the returned item to
280
            - pref: HomeOrHoldingBranchReturn
288
            - pref: HomeOrHoldingBranchReturn
281
              type: choice
289
              type: choice
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt (-2 / +10 lines)
Lines 805-811 No patron matched <span class="ex">[% message %]</span> Link Here
805
        <td><span style="padding: 0 1em;">[% IF ( todayissue.renewals ) %][% todayissue.renewals %][% ELSE %]0[% END %]</span>
805
        <td><span style="padding: 0 1em;">[% IF ( todayissue.renewals ) %][% todayissue.renewals %][% ELSE %]0[% END %]</span>
806
        [% IF ( todayissue.can_renew ) %]
806
        [% IF ( todayissue.can_renew ) %]
807
        <input type="checkbox" name="all_items[]" value="[% todayissue.itemnumber %]" checked="checked" style="display: none;" />
807
        <input type="checkbox" name="all_items[]" value="[% todayissue.itemnumber %]" checked="checked" style="display: none;" />
808
        [% IF ( todayissue.od ) %]
808
        [% IF ( todayissue.od and !previssue.renew_error_overdue ) %]
809
            <input type="checkbox" class="radio" name="items[]" value="[% todayissue.itemnumber %]" checked="checked" />
809
            <input type="checkbox" class="radio" name="items[]" value="[% todayissue.itemnumber %]" checked="checked" />
810
        [% ELSE %]
810
        [% ELSE %]
811
            <input type="checkbox" class="radio" name="items[]" value="[% todayissue.itemnumber %]" />
811
            <input type="checkbox" class="radio" name="items[]" value="[% todayissue.itemnumber %]" />
Lines 827-832 No patron matched <span class="ex">[% message %]</span> Link Here
827
                [% IF ( todayissue.renew_error_too_many ) %]
827
                [% IF ( todayissue.renew_error_too_many ) %]
828
            Not renewable
828
            Not renewable
829
                [% END %]
829
                [% END %]
830
                [% IF ( todayissue.renew_error_overdue ) %]
831
                        Renewal not allowed (overdue)
832
                [% END %]
830
            [% IF ( todayissue.can_confirm ) %]
833
            [% IF ( todayissue.can_confirm ) %]
831
                </span>
834
                </span>
832
            [% END %]
835
            [% END %]
Lines 886-892 No patron matched <span class="ex">[% message %]</span> Link Here
886
        <td><span style="padding: 0 1em;">[% IF ( previssue.renewals ) %][% previssue.renewals %][% ELSE %]0[% END %]</span>
889
        <td><span style="padding: 0 1em;">[% IF ( previssue.renewals ) %][% previssue.renewals %][% ELSE %]0[% END %]</span>
887
        [% IF ( previssue.can_renew ) %]
890
        [% IF ( previssue.can_renew ) %]
888
        <input type="checkbox" name="all_items[]" value="[% previssue.itemnumber %]" checked="checked" style="display: none;" />
891
        <input type="checkbox" name="all_items[]" value="[% previssue.itemnumber %]" checked="checked" style="display: none;" />
889
        [% IF ( previssue.od ) %]
892
        [% IF ( previssue.od and !previssue.renew_error_overdue ) %]
890
            <input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" checked="checked" />
893
            <input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" checked="checked" />
891
        [% ELSE %]
894
        [% ELSE %]
892
            <input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" />
895
            <input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" />
Lines 908-913 No patron matched <span class="ex">[% message %]</span> Link Here
908
                [% IF ( previssue.renew_error_too_many ) %]
911
                [% IF ( previssue.renew_error_too_many ) %]
909
            Not renewable
912
            Not renewable
910
                [% END %]
913
                [% END %]
914
                [% IF ( previssue.renew_error_overdue ) %]
915
                        Renewal not allowed (overdue)
916
                [% END %]
911
            [% IF ( previssue.can_confirm ) %]
917
            [% IF ( previssue.can_confirm ) %]
912
                </span>
918
                </span>
913
            [% END %]
919
            [% END %]
Lines 947-953 No patron matched <span class="ex">[% message %]</span> Link Here
947
        [% END %]
953
        [% END %]
948
        [% END %]
954
        [% END %]
949
        <input type="submit" name="renew_checked" value="Renew or Return checked items" />
955
        <input type="submit" name="renew_checked" value="Renew or Return checked items" />
956
        [% UNLESS ( norenewal ) %]
950
        <input type="submit" id="renew_all" name="renew_all" value="Renew all" />
957
        <input type="submit" id="renew_all" name="renew_all" value="Renew all" />
958
        [% END %]
951
        [% IF export_remove_fields OR export_with_csv_profile %]
959
        [% IF export_remove_fields OR export_with_csv_profile %]
952
            <br/><br/>
960
            <br/><br/>
953
            Don't export fields : <input type="text" id="export_remove_fields" name="export_remove_fields" value="[% export_remove_fields %]" title="Use for iso2709 exports" />
961
            Don't export fields : <input type="text" id="export_remove_fields" name="export_remove_fields" value="[% export_remove_fields %]" title="Use for iso2709 exports" />
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt (-1 / +6 lines)
Lines 470-476 function validate1(date) { Link Here
470
            [% IF ( issueloo.norenew ) %]
470
            [% IF ( issueloo.norenew ) %]
471
                [% IF ( issueloo.can_confirm ) %]<span class="renewals-allowed" style="display: none">
471
                [% IF ( issueloo.can_confirm ) %]<span class="renewals-allowed" style="display: none">
472
                    <input type="checkbox" name="all_items[]" value="[% issueloo.itemnumber %]" checked="checked" style="display: none;" />
472
                    <input type="checkbox" name="all_items[]" value="[% issueloo.itemnumber %]" checked="checked" style="display: none;" />
473
                    [% IF ( issueloo.od ) %]
473
                    [% IF ( issueloo.od  and !issueloo.norenew_reason_overdue ) %]
474
                        <input type="checkbox" name="items[]" value="[% issueloo.itemnumber %]" checked="checked" />
474
                        <input type="checkbox" name="items[]" value="[% issueloo.itemnumber %]" checked="checked" />
475
                    [% ELSE %]
475
                    [% ELSE %]
476
                        <input type="checkbox" name="items[]" value="[% issueloo.itemnumber %]" />
476
                        <input type="checkbox" name="items[]" value="[% issueloo.itemnumber %]" />
Lines 478-483 function validate1(date) { Link Here
478
                    </span>
478
                    </span>
479
                    <span class="renewals-disabled">
479
                    <span class="renewals-disabled">
480
                [% END %]
480
                [% END %]
481
                [% IF ( issueloo.norenew_reason_overdue ) %]
482
                    Renewal not allowed (overdue)
483
                [% END %]
481
                [% IF ( issueloo.norenew_reason_on_reserve ) %]
484
                [% IF ( issueloo.norenew_reason_on_reserve ) %]
482
                <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% issueloo.biblionumber %]">On Hold</a>
485
                <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% issueloo.biblionumber %]">On Hold</a>
483
                [% END %]
486
                [% END %]
Lines 520-526 function validate1(date) { Link Here
520
        [% END %]
523
        [% END %]
521
        [% END %]
524
        [% END %]
522
        <input type="submit" name="renew_checked" value="Renew or return checked items" />
525
        <input type="submit" name="renew_checked" value="Renew or return checked items" />
526
        [% UNLESS ( norenewal ) %]
523
        <input type="submit" id="renew_all" name="renew_all" value="Renew all" />
527
        <input type="submit" id="renew_all" name="renew_all" value="Renew all" />
528
        [% END %]
524
        </fieldset>
529
        </fieldset>
525
    [% ELSE %]<p>Patron has nothing checked out.</p>
530
    [% ELSE %]<p>Patron has nothing checked out.</p>
526
[% END %]
531
[% END %]
(-)a/koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tt (-1 / +5 lines)
Lines 185-192 $.tablesorter.addParser({ Link Here
185
                [% IF ( OpacRenewalAllowed ) %]
185
                [% IF ( OpacRenewalAllowed ) %]
186
                    <td class="renew">[% IF ( ISSUE.status ) %][% IF ( canrenew ) %]<input type="checkbox" name="item" value="[% ISSUE.itemnumber %]"/> <a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% ISSUE.itemnumber %]&amp;borrowernumber=[% ISSUE.borrowernumber %]">Renew</a>[% END %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>
186
                    <td class="renew">[% IF ( ISSUE.status ) %][% IF ( canrenew ) %]<input type="checkbox" name="item" value="[% ISSUE.itemnumber %]"/> <a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% ISSUE.itemnumber %]&amp;borrowernumber=[% ISSUE.borrowernumber %]">Renew</a>[% END %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>
187
                        [% ELSE %]
187
                        [% ELSE %]
188
                        [% IF ( ISSUE.norenew_overdue ) %]
189
                           Renewal not allowed <span class="renewals">(overdue on a document)</span>
190
                        [% ELSE %]
188
                        Not renewable[% IF ( ISSUE.too_many ) %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>[% ELSE %][% IF ( ISSUE.on_reserve ) %] <span class="renewals">(On hold)</span>[% END %][% END %] 
191
                        Not renewable[% IF ( ISSUE.too_many ) %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>[% ELSE %][% IF ( ISSUE.on_reserve ) %] <span class="renewals">(On hold)</span>[% END %][% END %] 
189
                        [% END %]</td>
192
                        [% END %][% END %]</td>
190
                [% END %]
193
                [% END %]
191
[% IF ( OPACFinesTab ) %]
194
[% IF ( OPACFinesTab ) %]
192
                <td class="fines">[% IF ( ISSUE.charges ) %]Yes[% ELSE %]No[% END %]</td>
195
                <td class="fines">[% IF ( ISSUE.charges ) %]Yes[% ELSE %]No[% END %]</td>
Lines 329-334 $.tablesorter.addParser({ Link Here
329
[% ELSIF ( OVERDUE.status ) %]
332
[% ELSIF ( OVERDUE.status ) %]
330
[% IF ( canrenew ) %]<a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% OVERDUE.itemnumber %]&amp;bornum=[% OVERDUE.borrowernumber %]">Renew</a>[% END %] <span class="renewals">([% OVERDUE.renewsleft %] of [% OVERDUE.renewsallowed %] renewals remaining)</span>
333
[% IF ( canrenew ) %]<a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% OVERDUE.itemnumber %]&amp;bornum=[% OVERDUE.borrowernumber %]">Renew</a>[% END %] <span class="renewals">([% OVERDUE.renewsleft %] of [% OVERDUE.renewsallowed %] renewals remaining)</span>
331
[% ELSIF ( OVERDUE.onreserve ) %]On hold
334
[% ELSIF ( OVERDUE.onreserve ) %]On hold
335
[% ELSIF ( OVERDUE.norenew_overdue ) %]Renewal not allowed<span class="renewals">(overdue on a document)</span>
332
[% ELSE %]No renewals left
336
[% ELSE %]No renewals left
333
[% END %]
337
[% END %]
334
</td>[% END %]
338
</td>[% END %]
(-)a/members/moremember.pl (-2 / +8 lines)
Lines 256-261 my @borrowers_with_issues; Link Here
256
my $overdues_exist = 0;
256
my $overdues_exist = 0;
257
my $totalprice = 0;
257
my $totalprice = 0;
258
258
259
# Check if any of patron's documents is late
260
my ($memberblocked)=C4::Members::IsMemberBlocked($borrowernumber);
261
# and if renewal is allowed in that case
262
my $overduesblockrenew = C4::Context->preference('OverduesBlockRenew');
263
my $norenewal = 1 if $overduesblockrenew eq 'blockall' and $memberblocked == -1;
264
$template->param( norenewal => 1 ) if $overduesblockrenew ne 'allow';
265
259
my @issuedata = build_issue_data($issue);
266
my @issuedata = build_issue_data($issue);
260
my @relissuedata = build_issue_data($relissue);
267
my @relissuedata = build_issue_data($relissue);
261
268
Lines 512-519 sub build_issue_data { Link Here
512
        $row{'charge'} = sprintf( "%.2f", $charge );
519
        $row{'charge'} = sprintf( "%.2f", $charge );
513
520
514
        my ( $renewokay, $renewerror ) =
521
        my ( $renewokay, $renewerror ) =
515
          CanBookBeRenewed( $borrowernumber, $issue->{itemnumber},
522
        my ( $renewokay, $renewerror ) = $norenewal ? (0, 'overdue') : CanBookBeRenewed( $borrowernumber, $issue->{itemnumber}, $override_limit, $issue->{overdue}, $overduesblockrenew );
516
            $override_limit );
517
        $row{'norenew'} = !$renewokay;
523
        $row{'norenew'} = !$renewokay;
518
        $row{'can_confirm'} = ( !$renewokay && $renewerror ne 'on_reserve' );
524
        $row{'can_confirm'} = ( !$renewokay && $renewerror ne 'on_reserve' );
519
        $row{"norenew_reason_$renewerror"} = 1 if $renewerror;
525
        $row{"norenew_reason_$renewerror"} = 1 if $renewerror;
(-)a/opac/opac-user.pl (-3 / +9 lines)
Lines 153-158 my @overdues; Link Here
153
my @issuedat;
153
my @issuedat;
154
my $itemtypes = GetItemTypes();
154
my $itemtypes = GetItemTypes();
155
my $issues = GetPendingIssues($borrowernumber);
155
my $issues = GetPendingIssues($borrowernumber);
156
157
# Check if any of patron's documents is late
158
my ($memberblocked) = C4::Members::IsMemberBlocked($borrowernumber);
159
# and if renewal is allowed in that case
160
my $overduesblockrenew = C4::Context->preference('OverduesBlockRenew');
161
my $norenewal = 1 if $overduesblockrenew eq 'blockall' and $memberblocked == -1;
162
156
if ($issues){
163
if ($issues){
157
	foreach my $issue ( sort { $b->{date_due}->datetime() cmp $a->{date_due}->datetime() } @{$issues} ) {
164
	foreach my $issue ( sort { $b->{date_due}->datetime() cmp $a->{date_due}->datetime() } @{$issues} ) {
158
		# check for reserves
165
		# check for reserves
Lines 179-192 if ($issues){ Link Here
179
		$issue->{$publictype} = 1;
186
		$issue->{$publictype} = 1;
180
187
181
		# check if item is renewable
188
		# check if item is renewable
182
		my ($status,$renewerror) = CanBookBeRenewed( $borrowernumber, $issue->{'itemnumber'} );
189
		my ($status,$renewerror) = $norenewal ? (0, 'overdue') : CanBookBeRenewed( $borrowernumber, $issue->{'itemnumber'}, undef, $issue->{'overdue'}, $overduesblockrenew);
183
		($issue->{'renewcount'},$issue->{'renewsallowed'},$issue->{'renewsleft'}) = GetRenewCount($borrowernumber, $issue->{'itemnumber'});
190
		($issue->{'renewcount'},$issue->{'renewsallowed'},$issue->{'renewsleft'}) = GetRenewCount($borrowernumber, $issue->{'itemnumber'});
184
        if($status && C4::Context->preference("OpacRenewalAllowed")){
191
        if($status && C4::Context->preference("OpacRenewalAllowed")){
185
            $issue->{'status'} = $status;
192
            $issue->{'status'} = $status;
186
        }
193
        }
187
		$issue->{'too_many'} = 1 if $renewerror and $renewerror eq 'too_many';
194
		$issue->{'too_many'} = 1 if $renewerror and $renewerror eq 'too_many';
188
		$issue->{'on_reserve'} = 1 if $renewerror and $renewerror eq 'on_reserve';
195
		$issue->{'on_reserve'} = 1 if $renewerror and $renewerror eq 'on_reserve';
189
196
    $issue->{'norenew_overdue'} = 1 if $renewerror and $renewerror eq 'overdue';
190
		if ( $issue->{'overdue'} ) {
197
		if ( $issue->{'overdue'} ) {
191
			push @overdues, $issue;
198
			push @overdues, $issue;
192
			$overdues_count++;
199
			$overdues_count++;
193
- 

Return to bug 8236