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

(-)a/C4/Circulation.pm (+24 lines)
Lines 877-882 sub CanBookBeIssued { Link Here
877
    }
877
    }
878
    if ( $patron->is_debarred ) {
878
    if ( $patron->is_debarred ) {
879
        $issuingimpossible{DEBARRED} = 1;
879
        $issuingimpossible{DEBARRED} = 1;
880
        if ($issueconfirmed) {
881
            if ($message) {
882
                $message = "$message + borrower is restricted";
883
            } else {
884
                $message = "borrower is restricted";
885
            }
886
            push( @message, "borrower is restricted" );
887
        }
880
    }
888
    }
881
889
882
    if ( $patron->is_expired ) {
890
    if ( $patron->is_expired ) {
Lines 3195-3200 sub CanBookBeRenewed { Link Here
3195
    return ( 0, "on_reserve" )
3203
    return ( 0, "on_reserve" )
3196
      if ( $item->current_holds->search( { non_priority => 0 } )->count );
3204
      if ( $item->current_holds->search( { non_priority => 0 } )->count );
3197
3205
3206
    my $issuing_rule = Koha::CirculationRules->get_effective_rules(
3207
        {
3208
            categorycode => $patron->categorycode,
3209
            itemtype     => $item->effective_itemtype,
3210
            branchcode   => $branchcode,
3211
            rules        => [
3212
                'renewalsallowed',
3213
                'lengthunit',
3214
                'unseen_renewals_allowed'
3215
            ]
3216
        }
3217
    );
3218
3219
    return ( 0, "too_many" )
3220
        if not $issuing_rule->{renewalsallowed}
3221
        or $issuing_rule->{renewalsallowed} <= $issue->renewals_count;
3198
3222
3199
    my ( $status, $matched_reserve, $possible_holds ) = CheckReserves($item);
3223
    my ( $status, $matched_reserve, $possible_holds ) = CheckReserves($item);
3200
    my @fillable_holds = ();
3224
    my @fillable_holds = ();
(-)a/reserve/request.pl (-2 / +1 lines)
Lines 570-577 if ( ( $findborrower && $borrowernumber_hold || $findclub && $club_hold ) Link Here
570
                        my $branchcode = C4::Context->userenv->{branch};
570
                        my $branchcode = C4::Context->userenv->{branch};
571
                        my $message = "Override limitation of hold";
571
                        my $message = "Override limitation of hold";
572
                        my @message = ("Override limitation of hold");
572
                        my @message = ("Override limitation of hold");
573
                        my $barcode = $input->param('barcode');
573
                        my $barcode = $item->{barcode};
574
575
574
576
                        my $infos = ({
575
                        my $infos = ({
577
                            message     => \@message,
576
                            message     => \@message,
(-)a/svc/renew (-3 / +56 lines)
Lines 26-31 use Try::Tiny; Link Here
26
use C4::Circulation qw( AddRenewal CanBookBeRenewed );
26
use C4::Circulation qw( AddRenewal CanBookBeRenewed );
27
use C4::Context;
27
use C4::Context;
28
use C4::Auth qw(check_cookie_auth);
28
use C4::Auth qw(check_cookie_auth);
29
use C4::Log qw( logaction );
29
30
30
use Koha::DateUtils qw(output_pref dt_from_string);
31
use Koha::DateUtils qw(output_pref dt_from_string);
31
32
Lines 52-57 my $date_due; Link Here
52
if ( $input->param('date_due') ) {
53
if ( $input->param('date_due') ) {
53
    $date_due = dt_from_string( scalar $input->param('date_due') );
54
    $date_due = dt_from_string( scalar $input->param('date_due') );
54
}
55
}
56
my $borrower = Koha::Patrons->find($borrowernumber);
57
my $user     = C4::Context->userenv->{'number'};
58
my $message;
59
my @message;
55
60
56
my $data;
61
my $data;
57
$data->{itemnumber} = $itemnumber;
62
$data->{itemnumber} = $itemnumber;
Lines 65-73 my $item = Koha::Items->find($itemnumber); Link Here
65
    CanBookBeRenewed( $patron, $item->checkout, $override_limit );
70
    CanBookBeRenewed( $patron, $item->checkout, $override_limit );
66
71
67
# If we're allowing reserved items to be renewed...
72
# If we're allowing reserved items to be renewed...
68
if ( $data->{error} && $data->{error} eq 'on_reserve' && C4::Context->preference('AllowRenewalOnHoldOverride')) {
73
if ( $data->{error} && $data->{error} eq 'on_reserve' && C4::Context->preference('AllowRenewalOnHoldOverride') ) {
69
    $data->{renew_okay} = 1;
74
    $data->{renew_okay} = 1;
70
    $data->{error} = undef;
75
    $data->{error}      = undef;
76
77
    $message = "Override Renew hold for another";
78
    @message = ("Override Renew hold for another");
79
80
    my $infos = (
81
        {
82
            message        => \@message,
83
            borrowernumber => $borrowernumber,
84
            barcode        => $item->barcode,
85
            manager_id     => $user,
86
            branchcode     => $branchcode,
87
        }
88
    );
89
90
    my $json_infos = JSON->new->utf8->pretty->encode($infos);
91
    $json_infos =~ s/"/'/g;
92
93
    logaction(
94
        "CIRCULATION", "RENEWAL",
95
        $borrower->{'borrowernumber'},
96
        $json_infos,
97
    ) if C4::Context->preference("IssueLog");
98
}
99
100
if ( $data->{error} && $data->{error} eq 'too_many' && C4::Context->preference('AllowRenewalLimitOverride') ) {
101
    $data->{renew_okay} = 1;
102
    $data->{error}      = undef;
103
104
    $message = "Override limit Renew";
105
    @message = ("Override limit Renew");
106
107
    my $infos = (
108
        {
109
            message        => \@message,
110
            borrowernumber => $borrowernumber,
111
            barcode        => $item->barcode,
112
            manager_id     => $user,
113
            branchcode     => $branchcode,
114
        }
115
    );
116
117
    my $json_infos = JSON->new->utf8->pretty->encode($infos);
118
    $json_infos =~ s/"/'/g;
119
120
    logaction(
121
        "CIRCULATION", "RENEWAL",
122
        $borrower->{'borrowernumber'},
123
        $json_infos,
124
    ) if C4::Context->preference("IssueLog");
71
}
125
}
72
126
73
if ( $data->{renew_okay} || ( $seen && $data->{error} eq 'too_unseen') ) {
127
if ( $data->{renew_okay} || ( $seen && $data->{error} eq 'too_unseen') ) {
74
- 

Return to bug 9762