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

(-)a/Koha/Hold.pm (-2 / +2 lines)
Lines 223-230 sub set_waiting { Link Here
223
    my $max_pickup_delay = C4::Context->preference("ReservesMaxPickUpDelay");
223
    my $max_pickup_delay = C4::Context->preference("ReservesMaxPickUpDelay");
224
    my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays');
224
    my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays');
225
225
226
    my $new_expiration_date = $today->clone->add(days => $max_pickup_delay);
227
228
    my $rule = Koha::CirculationRules->get_effective_rule({
226
    my $rule = Koha::CirculationRules->get_effective_rule({
229
        categorycode => $self->borrower->categorycode,
227
        categorycode => $self->borrower->categorycode,
230
        itemtype => $self->item->effective_itemtype,
228
        itemtype => $self->item->effective_itemtype,
Lines 236-241 sub set_waiting { Link Here
236
        $max_pickup_delay = $rule->rule_value;
234
        $max_pickup_delay = $rule->rule_value;
237
    }
235
    }
238
236
237
    my $new_expiration_date = $today->clone->add(days => $max_pickup_delay);
238
239
    if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) {
239
    if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) {
240
        my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype;
240
        my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype;
241
        my $daysmode = Koha::CirculationRules->get_effective_daysmode(
241
        my $daysmode = Koha::CirculationRules->get_effective_daysmode(
(-)a/admin/smart-rules.pl (-1 / +1 lines)
Lines 293-299 elsif ($op eq 'add') { Link Here
293
    my $recall_due_date_interval = $input->param('recall_due_date_interval');
293
    my $recall_due_date_interval = $input->param('recall_due_date_interval');
294
    my $recall_overdue_fine = $input->param('recall_overdue_fine');
294
    my $recall_overdue_fine = $input->param('recall_overdue_fine');
295
    my $recall_shelf_time = $input->param('recall_shelf_time');
295
    my $recall_shelf_time = $input->param('recall_shelf_time');
296
    my $holds_pickup_period = strip_non_numeric($input->param('holds_pickup_period'));
296
    my $holds_pickup_period = strip_non_numeric( scalar $input->param('holds_pickup_period') );
297
297
298
    my $rules = {
298
    my $rules = {
299
        maxissueqty                   => $maxissueqty,
299
        maxissueqty                   => $maxissueqty,
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt (-10 / +14 lines)
Lines 283-289 Link Here
283
                                        </ul>
283
                                        </ul>
284
284
285
                                        [% IF pickup_delays %]
285
                                        [% IF pickup_delays %]
286
                                            <p id="pickup_delay" style="display:none;">When your item is ready for pickup, you will have <span id="pickup_delay_days"></span> days to pick it up from this library.</p>
286
                                            <p class="pickup_delay" style="display:none;">When your item is ready for pickup, you will have <span id="pickup_delay_days_[% bibitemloo.biblionumber | html %]"></span> days to pick it up from this library.</p>
287
                                        [% END %]
287
                                        [% END %]
288
288
289
                                        <a class="toggle-hold-options" id="toggle-hold-options-[% bibitemloo.biblionumber | html %]" style="display:none;" href="#">Show more options</a>
289
                                        <a class="toggle-hold-options" id="toggle-hold-options-[% bibitemloo.biblionumber | html %]" style="display:none;" href="#">Show more options</a>
Lines 494-506 Link Here
494
    var MSG_EMPTY_END_DATE   = _("Hold expiration date should be filled.");
494
    var MSG_EMPTY_END_DATE   = _("Hold expiration date should be filled.");
495
495
496
    function calculate_delay_days(){
496
    function calculate_delay_days(){
497
        var selected_branch = $("#branch_1").val();
497
        $(".branch > select").each(function(){
498
        [% FOREACH branchcode IN pickup_delays.keys %]
498
            var selected_branch = $(this).val();
499
            var branchcode = "[% branchcode | html %]";
499
            var branch_biblionumber = $(this).attr('id');
500
            if ( branchcode == selected_branch ) {
500
            var biblionumber = branch_biblionumber.slice( branch_biblionumber.indexOf('_')+1 );
501
                $("#pickup_delay_days").text([% pickup_delays.$branchcode | html %]);
501
            [% FOREACH branchcode IN pickup_delays.keys %]
502
            }
502
                var branchcode = "[% branchcode | html %]";
503
        [% END %]
503
                if ( branchcode == selected_branch ) {
504
                    $("#pickup_delay_days_" + biblionumber).text([% pickup_delays.$branchcode | html %]);
505
                }
506
            [% END %]
507
        });
504
    }
508
    }
505
509
506
    $(document).ready(function() {
510
    $(document).ready(function() {
Lines 511-518 Link Here
511
        });
515
        });
512
516
513
        calculate_delay_days();
517
        calculate_delay_days();
514
        $("#pickup_delay").show();
518
        $(".pickup_delay").show();
515
        $("#branch_1").change(function(){
519
        $(".branch > select").change(function(){
516
            calculate_delay_days();
520
            calculate_delay_days();
517
        });
521
        });
518
522
(-)a/opac/opac-reserve.pl (-3 / +6 lines)
Lines 613-619 if ( Link Here
613
    );
613
    );
614
}
614
}
615
615
616
my @branches = Koha::Libraries->search();
616
my @branches = Koha::Libraries->search->as_list;
617
my %hold_pickup_delay_by_branch = ();
617
my %hold_pickup_delay_by_branch = ();
618
618
619
foreach my $branch ( @branches ) {
619
foreach my $branch ( @branches ) {
Lines 623-629 foreach my $branch ( @branches ) { Link Here
623
        itemtype => undef,
623
        itemtype => undef,
624
        rule_name => 'holds_pickup_period',
624
        rule_name => 'holds_pickup_period',
625
    });
625
    });
626
    $hold_pickup_delay_by_branch{$branch->branchcode} = $rule->rule_value if ( $rule and $rule->rule_value );
626
    if ( $rule and $rule->rule_value ) {
627
        $hold_pickup_delay_by_branch{$branch->branchcode} = $rule->rule_value;
628
    } else {
629
        $hold_pickup_delay_by_branch{$branch->branchcode} = C4::Context->preference('ReservesMaxPickUpDelay');
630
    }
627
}
631
}
628
632
629
$template->param( pickup_delays => \%hold_pickup_delay_by_branch );
633
$template->param( pickup_delays => \%hold_pickup_delay_by_branch );
630
- 

Return to bug 8367