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

(-)a/C4/Circulation.pm (-2 / +3 lines)
Lines 2416-2422 already renewed the loan. $error will contain the reason the renewal can not pro Link Here
2416
sub CanBookBeRenewed {
2416
sub CanBookBeRenewed {
2417
2417
2418
    # check renewal status
2418
    # check renewal status
2419
    my ( $borrowernumber, $itemnumber, $override_limit ) = @_;
2419
    my ( $borrowernumber, $itemnumber, $override_limit, $overdue, $overduesblockrenew ) = @_;
2420
    my $dbh       = C4::Context->dbh;
2420
    my $dbh       = C4::Context->dbh;
2421
    my $renews    = 1;
2421
    my $renews    = 1;
2422
    my $renewokay = 0;
2422
    my $renewokay = 0;
Lines 2465-2471 sub CanBookBeRenewed { Link Here
2465
    if ( my $data1 = $sthcount->fetchrow_hashref ) {
2465
    if ( my $data1 = $sthcount->fetchrow_hashref ) {
2466
        
2466
        
2467
        if ( ( $data1->{renewalsallowed} && $data1->{renewalsallowed} > $data1->{renewals} ) || $override_limit ) {
2467
        if ( ( $data1->{renewalsallowed} && $data1->{renewalsallowed} > $data1->{renewals} ) || $override_limit ) {
2468
            $renewokay = 1;
2468
            $renewokay =  ($overduesblockrenew eq 'blockitem' and $overdue and !$override_limit)? 0 : 1;
2469
            $error = 'overdue' unless $renewokay;
2469
        }
2470
        }
2470
        else {
2471
        else {
2471
			$error="too_many";
2472
			$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 384-386 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES(' Link Here
384
INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('AuthDisplayHierarchy','0','Display authority hierarchies','','YesNo');
384
INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('AuthDisplayHierarchy','0','Display authority hierarchies','','YesNo');
385
INSERT INTO systempreferences (variable,value,explanation,type) VALUES('OPACdidyoumean',NULL,'Did you mean? configuration for the OPAC. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');
385
INSERT INTO systempreferences (variable,value,explanation,type) VALUES('OPACdidyoumean',NULL,'Did you mean? configuration for the OPAC. 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');
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,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 5988-5993 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
5988
    SetVersion($DBversion);
5988
    SetVersion($DBversion);
5989
}
5989
}
5990
5990
5991
$DBversion = "XXXXXXXXXXX";$
5992
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {$
5993
    $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')");$
5994
    print "Upgrade to $DBversion done (Add system preference BlockRenewal ))\n";$
5995
    SetVersion($DBversion);$
5996
}$
5997
5991
=head1 FUNCTIONS
5998
=head1 FUNCTIONS
5992
5999
5993
=head2 TableExists($table)
6000
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (+8 lines)
Lines 271-276 Circulation: Link Here
271
                  confirmation: Ask for confirmation
271
                  confirmation: Ask for confirmation
272
            - when checking out to a borrower that has overdues outstanding	    
272
            - when checking out to a borrower that has overdues outstanding	    
273
        -
273
        -
274
            - If any of a patron's checked out documents is late, the renewal is
275
            - pref: OverduesBlockRenew
276
              type: choice
277
              choices:
278
                  allow: allowed
279
                  blockall: blocked on whatever of his checked out documents
280
                  blockitem: blocked only on the overdue items
281
        -
274
            - On checkin route the returned item to
282
            - On checkin route the returned item to
275
            - pref: HomeOrHoldingBranchReturn
283
            - pref: HomeOrHoldingBranchReturn
276
              type: choice
284
              type: choice
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt (-2 / +10 lines)
Lines 803-809 No patron matched <span class="ex">[% message %]</span> Link Here
803
        <td><span style="padding: 0 1em;">[% IF ( todayissue.renewals ) %][% todayissue.renewals %][% ELSE %]0[% END %]</span>
803
        <td><span style="padding: 0 1em;">[% IF ( todayissue.renewals ) %][% todayissue.renewals %][% ELSE %]0[% END %]</span>
804
        [% IF ( todayissue.can_renew ) %]
804
        [% IF ( todayissue.can_renew ) %]
805
        <input type="checkbox" name="all_items[]" value="[% todayissue.itemnumber %]" checked="checked" style="display: none;" />
805
        <input type="checkbox" name="all_items[]" value="[% todayissue.itemnumber %]" checked="checked" style="display: none;" />
806
        [% IF ( todayissue.od ) %]
806
        [% IF ( todayissue.od and !previssue.renew_error_overdue ) %]
807
            <input type="checkbox" class="radio" name="items[]" value="[% todayissue.itemnumber %]" checked="checked" />
807
            <input type="checkbox" class="radio" name="items[]" value="[% todayissue.itemnumber %]" checked="checked" />
808
        [% ELSE %]
808
        [% ELSE %]
809
            <input type="checkbox" class="radio" name="items[]" value="[% todayissue.itemnumber %]" />
809
            <input type="checkbox" class="radio" name="items[]" value="[% todayissue.itemnumber %]" />
Lines 825-830 No patron matched <span class="ex">[% message %]</span> Link Here
825
                [% IF ( todayissue.renew_error_too_many ) %]
825
                [% IF ( todayissue.renew_error_too_many ) %]
826
            Not renewable
826
            Not renewable
827
                [% END %]
827
                [% END %]
828
                [% IF ( todayissue.renew_error_overdue ) %]
829
                        Renewal not allowed (overdue)
830
                [% END %]
828
            [% IF ( todayissue.can_confirm ) %]
831
            [% IF ( todayissue.can_confirm ) %]
829
                </span>
832
                </span>
830
            [% END %]
833
            [% END %]
Lines 882-888 No patron matched <span class="ex">[% message %]</span> Link Here
882
        <td><span style="padding: 0 1em;">[% IF ( previssue.renewals ) %][% previssue.renewals %][% ELSE %]0[% END %]</span>
885
        <td><span style="padding: 0 1em;">[% IF ( previssue.renewals ) %][% previssue.renewals %][% ELSE %]0[% END %]</span>
883
        [% IF ( previssue.can_renew ) %]
886
        [% IF ( previssue.can_renew ) %]
884
        <input type="checkbox" name="all_items[]" value="[% previssue.itemnumber %]" checked="checked" style="display: none;" />
887
        <input type="checkbox" name="all_items[]" value="[% previssue.itemnumber %]" checked="checked" style="display: none;" />
885
        [% IF ( previssue.od ) %]
888
        [% IF ( previssue.od and !previssue.renew_error_overdue ) %]
886
            <input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" checked="checked" />
889
            <input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" checked="checked" />
887
        [% ELSE %]
890
        [% ELSE %]
888
            <input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" />
891
            <input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" />
Lines 904-909 No patron matched <span class="ex">[% message %]</span> Link Here
904
                [% IF ( previssue.renew_error_too_many ) %]
907
                [% IF ( previssue.renew_error_too_many ) %]
905
            Not renewable
908
            Not renewable
906
                [% END %]
909
                [% END %]
910
                [% IF ( previssue.renew_error_overdue ) %]
911
                        Renewal not allowed (overdue)
912
                [% END %]
907
            [% IF ( previssue.can_confirm ) %]
913
            [% IF ( previssue.can_confirm ) %]
908
                </span>
914
                </span>
909
            [% END %]
915
            [% END %]
Lines 941-947 No patron matched <span class="ex">[% message %]</span> Link Here
941
        [% END %]
947
        [% END %]
942
        [% END %]
948
        [% END %]
943
        <input type="submit" name="renew_checked" value="Renew or Return checked items" />
949
        <input type="submit" name="renew_checked" value="Renew or Return checked items" />
950
        [% UNLESS ( norenewal ) %]
944
        <input type="submit" id="renew_all" name="renew_all" value="Renew all" />
951
        <input type="submit" id="renew_all" name="renew_all" value="Renew all" />
952
        [% END %]
945
        <br/><br/>
953
        <br/><br/>
946
        Don't export fields : <input type="text" id="export_remove_fields" name="export_remove_fields" value="[% export_remove_fields %]" title="Use for iso2709 exports" />
954
        Don't export fields : <input type="text" id="export_remove_fields" name="export_remove_fields" value="[% export_remove_fields %]" title="Use for iso2709 exports" />
947
        <span id="exportmenuc">Export</span>
955
        <span id="exportmenuc">Export</span>
(-)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