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

(-)a/C4/Reserves.pm (-3 / +5 lines)
Lines 341-350 sub CanBookBeReserved{ Link Here
341
341
342
    foreach my $itemnumber (@itemnumbers) {
342
    foreach my $itemnumber (@itemnumbers) {
343
        $canReserve = CanItemBeReserved( $borrowernumber, $itemnumber, $pickup_branchcode, $params );
343
        $canReserve = CanItemBeReserved( $borrowernumber, $itemnumber, $pickup_branchcode, $params );
344
        my $opacitemholds = $canReserve->{rights}->{opacitemholds} // 'Y';
344
        if ( C4::Context->interface eq 'opac' ) {
345
        return { status => 'recordHoldNotAllowed' } if $opacitemholds eq 'F';
345
            my $opacitemholds = $canReserve->{rights}->{opacitemholds} // 'Y';
346
            return { status => 'recordHoldNotAllowed' } if $opacitemholds eq 'F';
347
            return { status => 'OK' } if $canReserve->{status} eq 'recordHoldsOnly';
348
        }
346
        return { status => 'OK' } if $canReserve->{status} eq 'OK';
349
        return { status => 'OK' } if $canReserve->{status} eq 'OK';
347
        return { status => 'OK' } if $canReserve->{status} eq 'recordHoldsOnly';
348
    }
350
    }
349
    return $canReserve;
351
    return $canReserve;
350
}
352
}
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-4 / +2 lines)
Lines 367-373 Link Here
367
                    </div>
367
                    </div>
368
                [% END %]
368
                [% END %]
369
369
370
                [% IF ( no_reserves_allowed || exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted || recordHoldNotAllowed ) %]
370
                [% IF ( no_reserves_allowed || exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted ) %]
371
                    <div class="dialog alert">
371
                    <div class="dialog alert">
372
372
373
                        [% UNLESS ( multi_hold ) %]
373
                        [% UNLESS ( multi_hold ) %]
Lines 389-396 Link Here
389
                                    <li> <strong>No items are available</strong> to be placed on hold.</li>
389
                                    <li> <strong>No items are available</strong> to be placed on hold.</li>
390
                                [% ELSIF ( maxreserves ) %]
390
                                [% ELSIF ( maxreserves ) %]
391
                                    <li><strong>Too many holds: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">[% patron.firstname | html %] [% patron.surname | html %] </a> has too many holds.</li>
391
                                    <li><strong>Too many holds: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">[% patron.firstname | html %] [% patron.surname | html %] </a> has too many holds.</li>
392
                                [% ELSIF ( recordHoldNotAllowed ) %]
393
                                    <li><strong>Record holds not allowed : </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">[% patron.firstname | html %] [% patron.surname | html %] </a> cannot put a record-level hold on this ressource.</li>
394
                                [% END # /IF exceeded_maxreserves %]
392
                                [% END # /IF exceeded_maxreserves %]
395
                            </ul>
393
                            </ul>
396
                        [% ELSE # UNLESS multi_hold %]
394
                        [% ELSE # UNLESS multi_hold %]
Lines 566-572 Link Here
566
                                [% IF ( patron.borrowernumber ) %]
564
                                [% IF ( patron.borrowernumber ) %]
567
                                    [% IF ( override_required ) %]
565
                                    [% IF ( override_required ) %]
568
                                        <button type="submit" class="btn btn-default warning"><i class="fa fa-exclamation-triangle "></i> Place hold</button>
566
                                        <button type="submit" class="btn btn-default warning"><i class="fa fa-exclamation-triangle "></i> Place hold</button>
569
                                    [% ELSIF ( none_available || recordHoldNotAllowed ) %]
567
                                    [% ELSIF ( none_available ) %]
570
                                        <button type="submit" disabled="disabled" class="btn btn-default btn-disabled">Place hold</button>
568
                                        <button type="submit" disabled="disabled" class="btn btn-default btn-disabled">Place hold</button>
571
                                    [% ELSE %]
569
                                    [% ELSE %]
572
                                        <button type="submit" class="btn btn-default">Place hold</button>
570
                                        <button type="submit" class="btn btn-default">Place hold</button>
(-)a/reserve/placerequest.pl (-1 / +1 lines)
Lines 142-148 if ( $type eq 'str8' && $borrower ) { Link Here
142
        } else {
142
        } else {
143
            # place a request on 1st available
143
            # place a request on 1st available
144
            for ( my $i = 0 ; $i < $holds_to_place_count ; $i++ ) {
144
            for ( my $i = 0 ; $i < $holds_to_place_count ; $i++ ) {
145
                if ( $can_override || CanBookBeReserved($borrower->{'borrowernumber'}, $biblionumber, undef, { context => 'staff' })->{status} eq 'OK' ) {
145
                if ( $can_override || CanBookBeReserved($borrower->{'borrowernumber'}, $biblionumber)->{status} eq 'OK' ) {
146
                    AddReserve(
146
                    AddReserve(
147
                        {
147
                        {
148
                            branchcode       => $branch,
148
                            branchcode       => $branch,
(-)a/reserve/request.pl (-4 lines)
Lines 347-356 foreach my $biblionumber (@biblionumbers) { Link Here
347
                $template->param( $canReserve->{status} => 1);
347
                $template->param( $canReserve->{status} => 1);
348
                $biblioloopiter{ $canReserve->{status} } = 1;
348
                $biblioloopiter{ $canReserve->{status} } = 1;
349
            }
349
            }
350
            elsif ( $canReserve->{status} eq 'recordHoldNotAllowed' ) {
351
                $template->param( $canReserve->{status} => 1 );
352
                $biblioloopiter{ $canReserve->{status} } = 1;
353
            }
354
            else {
350
            else {
355
                $biblioloopiter{ $canReserve->{status} } = 1;
351
                $biblioloopiter{ $canReserve->{status} } = 1;
356
            }
352
            }
(-)a/t/db_dependent/Reserves.t (-2 / +1 lines)
Lines 1083-1089 subtest 'reserves.item_level_hold' => sub { Link Here
1083
    subtest 'test opacitemholds rules in staff context' => sub {
1083
    subtest 'test opacitemholds rules in staff context' => sub {
1084
        plan tests => 2;
1084
        plan tests => 2;
1085
1085
1086
	C4::Context->interface('intranet');
1086
        C4::Context->interface('intranet');
1087
        Koha::CirculationRules->set_rules(
1087
        Koha::CirculationRules->set_rules(
1088
            {
1088
            {
1089
                branchcode   => undef,
1089
                branchcode   => undef,
1090
- 

Return to bug 25408