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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt (-1 lines)
Lines 675-681 Link Here
675
                    <input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
675
                    <input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
676
                    <input type="hidden" name="findborrower" id="holdFor" value="" />
676
                    <input type="hidden" name="findborrower" id="holdFor" value="" />
677
                    <input type="hidden" name="club" id="holdForClub" value="" />
677
                    <input type="hidden" name="club" id="holdForClub" value="" />
678
                    <input type="hidden" name="multi_hold" value="1"/>
679
                </form>
678
                </form>
680
679
681
                <form id="list_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
680
                <form id="list_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-12 lines)
Lines 101-116 Link Here
101
                                <input type="text" size="40" id="patron" class="focus" name="findborrower" autocomplete="off" />
101
                                <input type="text" size="40" id="patron" class="focus" name="findborrower" autocomplete="off" />
102
                                <input type="submit" value="Search" />
102
                                <input type="submit" value="Search" />
103
                                [% IF multi_hold %]
103
                                [% IF multi_hold %]
104
                                    <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
105
                                    <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
104
                                    <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
106
                                [% ELSE %]
105
                                [% ELSE %]
107
                                    <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
106
                                    <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
108
                                [% END %]
107
                                [% END %]
109
108
110
                                [% IF ( multi_hold ) %]
111
                                    <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
112
                                    <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
113
                                [% END %]
114
                            </form> <!-- /#holds_patronsearch -->
109
                            </form> <!-- /#holds_patronsearch -->
115
                            [% IF borrowers %]
110
                            [% IF borrowers %]
116
                                [% INCLUDE 'circ-patron-search-results.inc' destination = "holds" %]
111
                                [% INCLUDE 'circ-patron-search-results.inc' destination = "holds" %]
Lines 122-137 Link Here
122
                                <input type="text" size="40" id="club" class="focus" name="findclub" autocomplete="off" />
117
                                <input type="text" size="40" id="club" class="focus" name="findclub" autocomplete="off" />
123
                                <input type="submit" value="Search" />
118
                                <input type="submit" value="Search" />
124
                                [% IF multi_hold %]
119
                                [% IF multi_hold %]
125
                                    <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
126
                                    <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
120
                                    <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
127
                                [% ELSE %]
121
                                [% ELSE %]
128
                                    <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
122
                                    <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
129
                                [% END %]
123
                                [% END %]
130
124
131
                                [% IF ( multi_hold ) %]
132
                                    <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
133
                                    <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
134
                                [% END %]
135
                            </form> <!-- /#holds_patronsearch -->
125
                            </form> <!-- /#holds_patronsearch -->
136
                            [% IF clubs %]
126
                            [% IF clubs %]
137
                                [% INCLUDE 'clubs-table.inc' destination = "holds" %]
127
                                [% INCLUDE 'clubs-table.inc' destination = "holds" %]
Lines 147-153 Link Here
147
                    <form action="/api/v1/clubs/[% club.id | html %]/holds" method="post" name="form" id="club-request-form">
137
                    <form action="/api/v1/clubs/[% club.id | html %]/holds" method="post" name="form" id="club-request-form">
148
138
149
                        [% IF ( multi_hold ) %]
139
                        [% IF ( multi_hold ) %]
150
                            <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
151
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
140
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
152
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
141
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
153
                            <input type="hidden" name="request" value="any"/>
142
                            <input type="hidden" name="request" value="any"/>
Lines 384-390 Link Here
384
                        <input type="hidden" name="type" value="str8" />
373
                        <input type="hidden" name="type" value="str8" />
385
374
386
                        [% IF ( multi_hold ) %]
375
                        [% IF ( multi_hold ) %]
387
                            <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
388
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
376
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
389
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
377
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
390
                            <input type="hidden" name="request" value="any"/>
378
                            <input type="hidden" name="request" value="any"/>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt (-1 lines)
Lines 382-388 Link Here
382
<form id="hold_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
382
<form id="hold_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
383
    <!-- Value will be set here by placeHold() -->
383
    <!-- Value will be set here by placeHold() -->
384
    <input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
384
    <input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
385
    <input type="hidden" name="multi_hold" value="1"/>
386
</form>
385
</form>
387
386
388
            </main>
387
            </main>
(-)a/reserve/modrequest.pl (-2 / +1 lines)
Lines 49-55 my @reservedates = $query->multi_param('reservedate'); Link Here
49
my @expirationdates = $query->multi_param('expirationdate');
49
my @expirationdates = $query->multi_param('expirationdate');
50
my @branch = $query->multi_param('pickup');
50
my @branch = $query->multi_param('pickup');
51
my @itemnumber = $query->multi_param('itemnumber');
51
my @itemnumber = $query->multi_param('itemnumber');
52
my $multi_hold = $query->param('multi_hold');
53
my $biblionumbers = $query->param('biblionumbers');
52
my $biblionumbers = $query->param('biblionumbers');
54
my $count=@rank;
53
my $count=@rank;
55
54
Lines 94-100 if ( $from eq 'borrower'){ Link Here
94
    print $query->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrower[0]");
93
    print $query->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrower[0]");
95
} else {
94
} else {
96
     my $url = "/cgi-bin/koha/reserve/request.pl?";
95
     my $url = "/cgi-bin/koha/reserve/request.pl?";
97
     if ($multi_hold) {
96
     if (@biblionumber > 1) {
98
         $url .= "multi_hold=1&biblionumbers=$biblionumbers";
97
         $url .= "multi_hold=1&biblionumbers=$biblionumbers";
99
     } else {
98
     } else {
100
         $url .= "biblionumber=$biblionumber[0]";
99
         $url .= "biblionumber=$biblionumber[0]";
(-)a/reserve/placerequest.pl (-11 / +7 lines)
Lines 56-63 my $itemtype = $input->param('itemtype') || undef; Link Here
56
my $borrower = Koha::Patrons->find( $borrowernumber );
56
my $borrower = Koha::Patrons->find( $borrowernumber );
57
$borrower = $borrower->unblessed if $borrower;
57
$borrower = $borrower->unblessed if $borrower;
58
58
59
my $multi_hold = $input->param('multi_hold');
59
my $biblionumbers = $input->param('biblionumbers');
60
my $biblionumbers = $multi_hold ? $input->param('biblionumbers') : ($biblionumber . '/');
60
$biblionumbers ||= $biblionumber . '/';
61
61
my $bad_bibs = $input->param('bad_bibs');
62
my $bad_bibs = $input->param('bad_bibs');
62
my $holds_to_place_count = $input->param('holds_to_place_count') || 1;
63
my $holds_to_place_count = $input->param('holds_to_place_count') || 1;
63
64
Lines 118-124 if ( $type eq 'str8' && $borrower ) { Link Here
118
119
119
            }
120
            }
120
121
121
        } elsif ($multi_hold) {
122
        } elsif (@biblionumbers > 1) {
122
            my $bibinfo = $bibinfos{$biblionumber};
123
            my $bibinfo = $bibinfos{$biblionumber};
123
            if ( $can_override || CanBookBeReserved($borrower->{'borrowernumber'}, $biblionumber)->{status} eq 'OK' ) {
124
            if ( $can_override || CanBookBeReserved($borrower->{'borrowernumber'}, $biblionumber)->{status} eq 'OK' ) {
124
                AddReserve(
125
                AddReserve(
Lines 161-175 if ( $type eq 'str8' && $borrower ) { Link Here
161
        }
162
        }
162
    }
163
    }
163
164
164
    if ($multi_hold) {
165
    if ($bad_bibs) {
165
        if ($bad_bibs) {
166
        $biblionumbers .= $bad_bibs;
166
            $biblionumbers .= $bad_bibs;
167
        }
168
        print $input->redirect("request.pl?biblionumbers=$biblionumbers&multi_hold=1");
169
    }
170
    else {
171
        print $input->redirect("request.pl?biblionumber=$biblionumber");
172
    }
167
    }
168
    print $input->redirect("request.pl?biblionumber=$biblionumber");
173
}
169
}
174
elsif ( $borrowernumber eq '' ) {
170
elsif ( $borrowernumber eq '' ) {
175
    print $input->header();
171
    print $input->header();
(-)a/reserve/request.pl (-5 / +3 lines)
Lines 168-176 if ( $biblionumbers ) { Link Here
168
    push @biblionumbers, $input->multi_param('biblionumber');
168
    push @biblionumbers, $input->multi_param('biblionumber');
169
}
169
}
170
170
171
my $multihold = scalar $input->param('multi_hold');
171
my $multi_hold = @biblionumbers > 1;
172
# FIXME multi_hold should not be a variable but depends on the number of elements in @biblionumbers
172
$template->param(multi_hold => $multi_hold);
173
$template->param(multi_hold => scalar $input->param('multi_hold'));
174
173
175
# If we have the borrowernumber because we've performed an action, then we
174
# If we have the borrowernumber because we've performed an action, then we
176
# don't want to try to place another reserve.
175
# don't want to try to place another reserve.
Lines 461-467 foreach my $biblionumber (@biblionumbers) { Link Here
461
                $do_check = $patron->do_check_for_previous_checkout($item) if $wants_check;
460
                $do_check = $patron->do_check_for_previous_checkout($item) if $wants_check;
462
                if ( $do_check && $wants_check ) {
461
                if ( $do_check && $wants_check ) {
463
                    $item->{checked_previously} = $do_check;
462
                    $item->{checked_previously} = $do_check;
464
                    if ( $multihold ) {
463
                    if ( $multi_hold ) {
465
                        $biblioloopiter{checked_previously} = $do_check;
464
                        $biblioloopiter{checked_previously} = $do_check;
466
                    } else {
465
                    } else {
467
                        $template->param( checked_previously => $do_check );
466
                        $template->param( checked_previously => $do_check );
468
- 

Return to bug 16547