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 6011-6016 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
6011
    SetVersion ($DBversion);
6011
    SetVersion ($DBversion);
6012
}
6012
}
6013
6013
6014
$DBversion = "3.09.00.XXX";
6015
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
6016
    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OverduesBlockRenew','allow','If any of a patrons 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')");
6017
    print "Upgrade to $DBversion done (Add system preference BlockRenewal ))\n";
6018
    SetVersion($DBversion);
6019
}
6020
6014
=head1 FUNCTIONS
6021
=head1 FUNCTIONS
6015
6022
6016
=head2 TableExists($table)
6023
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (+8 lines)
Lines 277-282 Circulation: Link Here
277
                  confirmation: Ask for confirmation
277
                  confirmation: Ask for confirmation
278
            - when checking out to a borrower that has overdues outstanding	    
278
            - when checking out to a borrower that has overdues outstanding	    
279
        -
279
        -
280
            - If any of a patron's checked out documents is late, the renewal is
281
            - pref: OverduesBlockRenew
282
              type: choice
283
              choices:
284
                  allow: allowed
285
                  blockall: blocked on whatever of his checked out documents
286
                  blockitem: blocked only on the overdue items
287
        -
280
            - On checkin route the returned item to
288
            - On checkin route the returned item to
281
            - pref: HomeOrHoldingBranchReturn
289
            - pref: HomeOrHoldingBranchReturn
282
              type: choice
290
              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