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

(-)a/Koha/Hold.pm (-2 / +2 lines)
Lines 231-238 sub set_waiting { Link Here
231
    my $max_pickup_delay = C4::Context->preference("ReservesMaxPickUpDelay");
231
    my $max_pickup_delay = C4::Context->preference("ReservesMaxPickUpDelay");
232
    my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays');
232
    my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays');
233
233
234
    my $new_expiration_date = dt_from_string($self->waitingdate)->clone->add( days => $max_pickup_delay );
235
236
    my $rule = Koha::CirculationRules->get_effective_rule({
234
    my $rule = Koha::CirculationRules->get_effective_rule({
237
        categorycode => $self->borrower->categorycode,
235
        categorycode => $self->borrower->categorycode,
238
        itemtype => $self->item->effective_itemtype,
236
        itemtype => $self->item->effective_itemtype,
Lines 244-249 sub set_waiting { Link Here
244
        $max_pickup_delay = $rule->rule_value;
242
        $max_pickup_delay = $rule->rule_value;
245
    }
243
    }
246
244
245
    my $new_expiration_date = dt_from_string($self->waitingdate)->clone->add( days => $max_pickup_delay );
246
247
    if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) {
247
    if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) {
248
        my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype;
248
        my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype;
249
        my $daysmode = Koha::CirculationRules->get_effective_daysmode(
249
        my $daysmode = Koha::CirculationRules->get_effective_daysmode(
(-)a/admin/smart-rules.pl (-1 / +1 lines)
Lines 298-304 elsif ($op eq 'add') { Link Here
298
    my $recall_due_date_interval = $input->param('recall_due_date_interval');
298
    my $recall_due_date_interval = $input->param('recall_due_date_interval');
299
    my $recall_overdue_fine = $input->param('recall_overdue_fine');
299
    my $recall_overdue_fine = $input->param('recall_overdue_fine');
300
    my $recall_shelf_time = $input->param('recall_shelf_time');
300
    my $recall_shelf_time = $input->param('recall_shelf_time');
301
    my $holds_pickup_period = strip_non_numeric($input->param('holds_pickup_period'));
301
    my $holds_pickup_period = strip_non_numeric( scalar $input->param('holds_pickup_period') );
302
302
303
    my $rules = {
303
    my $rules = {
304
        maxissueqty                          => $maxissueqty,
304
        maxissueqty                          => $maxissueqty,
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt (-10 / +14 lines)
Lines 284-290 Link Here
284
                                        </ul>
284
                                        </ul>
285
285
286
                                        [% IF pickup_delays %]
286
                                        [% IF pickup_delays %]
287
                                            <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>
287
                                            <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>
288
                                        [% END %]
288
                                        [% END %]
289
289
290
                                        <a class="toggle-hold-options" id="toggle-hold-options-[% bibitemloo.biblionumber | html %]" style="display:none;" href="#">Show more options</a>
290
                                        <a class="toggle-hold-options" id="toggle-hold-options-[% bibitemloo.biblionumber | html %]" style="display:none;" href="#">Show more options</a>
Lines 511-523 Link Here
511
    var MSG_EMPTY_END_DATE   = _("Hold expiration date should be filled.");
511
    var MSG_EMPTY_END_DATE   = _("Hold expiration date should be filled.");
512
512
513
    function calculate_delay_days(){
513
    function calculate_delay_days(){
514
        var selected_branch = $("#branch_1").val();
514
        $(".branch > select").each(function(){
515
        [% FOREACH branchcode IN pickup_delays.keys %]
515
            var selected_branch = $(this).val();
516
            var branchcode = "[% branchcode | html %]";
516
            var branch_biblionumber = $(this).attr('id');
517
            if ( branchcode == selected_branch ) {
517
            var biblionumber = branch_biblionumber.slice( branch_biblionumber.indexOf('_')+1 );
518
                $("#pickup_delay_days").text([% pickup_delays.$branchcode | html %]);
518
            [% FOREACH branchcode IN pickup_delays.keys %]
519
            }
519
                var branchcode = "[% branchcode | html %]";
520
        [% END %]
520
                if ( branchcode == selected_branch ) {
521
                    $("#pickup_delay_days_" + biblionumber).text([% pickup_delays.$branchcode | html %]);
522
                }
523
            [% END %]
524
        });
521
    }
525
    }
522
526
523
    $(document).ready(function() {
527
    $(document).ready(function() {
Lines 528-535 Link Here
528
        });
532
        });
529
533
530
        calculate_delay_days();
534
        calculate_delay_days();
531
        $("#pickup_delay").show();
535
        $(".pickup_delay").show();
532
        $("#branch_1").change(function(){
536
        $(".branch > select").change(function(){
533
            calculate_delay_days();
537
            calculate_delay_days();
534
        });
538
        });
535
539
(-)a/opac/opac-reserve.pl (-3 / +6 lines)
Lines 626-632 if ( Link Here
626
    );
626
    );
627
}
627
}
628
628
629
my @branches = Koha::Libraries->search();
629
my @branches = Koha::Libraries->search->as_list;
630
my %hold_pickup_delay_by_branch = ();
630
my %hold_pickup_delay_by_branch = ();
631
631
632
foreach my $branch ( @branches ) {
632
foreach my $branch ( @branches ) {
Lines 636-642 foreach my $branch ( @branches ) { Link Here
636
        itemtype => undef,
636
        itemtype => undef,
637
        rule_name => 'holds_pickup_period',
637
        rule_name => 'holds_pickup_period',
638
    });
638
    });
639
    $hold_pickup_delay_by_branch{$branch->branchcode} = $rule->rule_value if ( $rule and $rule->rule_value );
639
    if ( $rule and $rule->rule_value ) {
640
        $hold_pickup_delay_by_branch{$branch->branchcode} = $rule->rule_value;
641
    } else {
642
        $hold_pickup_delay_by_branch{$branch->branchcode} = C4::Context->preference('ReservesMaxPickUpDelay');
643
    }
640
}
644
}
641
645
642
$template->param( pickup_delays => \%hold_pickup_delay_by_branch );
646
$template->param( pickup_delays => \%hold_pickup_delay_by_branch );
643
- 

Return to bug 8367