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

(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/clubs-table.inc (-3 / +5 lines)
Lines 24-33 Link Here
24
    <tbody>
24
    <tbody>
25
        [% FOREACH c IN clubs %]
25
        [% FOREACH c IN clubs %]
26
            [% IF destination == 'holds' %]
26
            [% IF destination == 'holds' %]
27
                [% SET data_url = "/cgi-bin/koha/reserve/request.pl?club=" _ c.id %]
28
                [% FOREACH biblionumber IN biblionumbers %]
29
                    [% SET data_url = data_url _ "&amp;biblionumber=" _ biblionumber %]
30
                [% END %]
27
                [% IF multi_hold %]
31
                [% IF multi_hold %]
28
                    [% SET data_url = "/cgi-bin/koha/reserve/request.pl?club=" _ c.id _ "&amp;multi_hold=1&amp;biblionumbers=" _ biblionumbers %]
32
                    [% SET data_url = data_url _ "&amp;multi_hold=1" %]
29
                [% ELSE %]
30
                    [% SET data_url = "/cgi-bin/koha/reserve/request.pl?club=" _ c.id _ "&amp;biblionumber=" _ biblionumber %]
31
                [% END %]
33
                [% END %]
32
                <tr class="clickable" data-url="[% data_url | html %]">
34
                <tr class="clickable" data-url="[% data_url | html %]">
33
                    <td><a href="[% data_url | url %]">[% c.name | html %]</a></td>
35
                    <td><a href="[% data_url | url %]">[% c.name | html %]</a></td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt (-2 lines)
Lines 671-684 Link Here
671
671
672
                <form id="hold_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
672
                <form id="hold_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
673
                    <!-- Value will be set here by placeHold() -->
673
                    <!-- Value will be set here by placeHold() -->
674
                    <input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
675
                    <input type="hidden" name="findborrower" id="holdFor" value="" />
674
                    <input type="hidden" name="findborrower" id="holdFor" value="" />
676
                    <input type="hidden" name="club" id="holdForClub" value="" />
675
                    <input type="hidden" name="club" id="holdForClub" value="" />
677
                </form>
676
                </form>
678
677
679
                <form id="list_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
678
                <form id="list_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
680
                    <!-- Value will be set here by addToList() -->
679
                    <!-- Value will be set here by addToList() -->
681
                    <input id="list_form_biblios" type="hidden" name="biblionumbers" value="" />
682
                    <input type="hidden" name="multi_listadd" value="1"/>
680
                    <input type="hidden" name="multi_listadd" value="1"/>
683
                </form>
681
                </form>
684
682
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-31 / +20 lines)
Lines 163-176 Link Here
163
                            [% END %]
163
                            [% END %]
164
                        </ul>
164
                        </ul>
165
                        <div id="holds_patronsearch_pane">
165
                        <div id="holds_patronsearch_pane">
166
                            <form id="holds_patronsearch" action="request.pl?biblionumbers=[% biblionumbers | html %]" method="post">
166
                            <form id="holds_patronsearch" action="request.pl" method="post">
167
                                <div class="hint">Enter patron card number or partial name:</div>
167
                                <div class="hint">Enter patron card number or partial name:</div>
168
                                <input type="text" size="40" id="patron" class="focus" name="findborrower" autocomplete="off" />
168
                                <input type="text" size="40" id="patron" class="focus" name="findborrower" autocomplete="off" />
169
                                <input type="submit" value="Search" />
169
                                <input type="submit" value="Search" />
170
                                [% IF multi_hold %]
170
                                [% FOREACH biblionumber IN biblionumbers %]
171
                                    <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
171
                                <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/>
172
                                [% ELSE %]
173
                                    <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
174
                                [% END %]
172
                                [% END %]
175
173
176
                            </form> <!-- /#holds_patronsearch -->
174
                            </form> <!-- /#holds_patronsearch -->
Lines 180-193 Link Here
180
                        </div>
178
                        </div>
181
                        [% IF clubcount %]
179
                        [% IF clubcount %]
182
                            <div id="holds_clubsearch_pane">
180
                            <div id="holds_clubsearch_pane">
183
                                <form id="holds_clubsearch" action="request.pl?biblionumbers=[% biblionumbers | html %]" method="post">
181
                                <form id="holds_clubsearch" action="request.pl" method="post">
184
                                    <div class="hint">Enter club ID or partial name:</div>
182
                                    <div class="hint">Enter club ID or partial name:</div>
185
                                    <input type="text" size="40" id="club" class="focus" name="findclub" autocomplete="off" />
183
                                    <input type="text" size="40" id="club" class="focus" name="findclub" autocomplete="off" />
186
                                    <input type="submit" value="Search" />
184
                                    <input type="submit" value="Search" />
187
                                    [% IF multi_hold %]
185
                                    [% FOREACH biblionumber IN biblionumbers %]
188
                                        <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
186
                                    <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/>
189
                                    [% ELSE %]
190
                                        <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
191
                                    [% END %]
187
                                    [% END %]
192
188
193
                                </form> <!-- /#holds_patronsearch -->
189
                                </form> <!-- /#holds_patronsearch -->
Lines 206-212 Link Here
206
                    <form action="/api/v1/clubs/[% club.id | html %]/holds" method="post" name="form" id="club-request-form">
202
                    <form action="/api/v1/clubs/[% club.id | html %]/holds" method="post" name="form" id="club-request-form">
207
203
208
                        [% IF ( multi_hold ) %]
204
                        [% IF ( multi_hold ) %]
209
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
210
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
205
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
211
                            <input type="hidden" name="request" value="any"/>
206
                            <input type="hidden" name="request" value="any"/>
212
                            [% FOREACH biblioloo IN biblioloop %]
207
                            [% FOREACH biblioloo IN biblioloop %]
Lines 214-220 Link Here
214
                                <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/>
209
                                <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/>
215
                            [% END %]
210
                            [% END %]
216
                        [% ELSE %]
211
                        [% ELSE %]
217
                            <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
218
                            <input type="hidden" name="title" value="[% biblio.title | html %]" />
212
                            <input type="hidden" name="title" value="[% biblio.title | html %]" />
219
                            <input type="hidden" name="rank-request" value="[% fixedRank | html %]" />
213
                            <input type="hidden" name="rank-request" value="[% fixedRank | html %]" />
220
                        [% END # /IF multi_hold %]
214
                        [% END # /IF multi_hold %]
Lines 449-456 Link Here
449
                        <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
443
                        <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
450
                        <input type="hidden" name="type" value="str8" />
444
                        <input type="hidden" name="type" value="str8" />
451
445
446
                        [% FOREACH biblionumber IN biblionumbers %]
447
                        <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/>
448
                        [% END %]
452
                        [% IF ( multi_hold ) %]
449
                        [% IF ( multi_hold ) %]
453
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
454
                            <input type="hidden" name="multi_holds" id="multi_holds" value="1" />
450
                            <input type="hidden" name="multi_holds" id="multi_holds" value="1" />
455
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
451
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
456
                            <input type="hidden" name="request" value="any"/>
452
                            <input type="hidden" name="request" value="any"/>
Lines 459-465 Link Here
459
                                <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/>
455
                                <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/>
460
                            [% END %]
456
                            [% END %]
461
                        [% ELSE %]
457
                        [% ELSE %]
462
                            <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
463
                            <input type="hidden" name="title" value="[% biblio.title | html %]" />
458
                            <input type="hidden" name="title" value="[% biblio.title | html %]" />
464
                            <input type="hidden" name="rank-request" value="[% fixedRank | html %]" />
459
                            <input type="hidden" name="rank-request" value="[% fixedRank | html %]" />
465
                        [% END # /IF multi_hold %]
460
                        [% END # /IF multi_hold %]
Lines 923-929 Link Here
923
                [% IF ( reserveloop ) %]
918
                [% IF ( reserveloop ) %]
924
                    <form id="existing_holds" name="T[% time | html %]" action="modrequest.pl" method="post" style="display:block">
919
                    <form id="existing_holds" name="T[% time | html %]" action="modrequest.pl" method="post" style="display:block">
925
                        [% IF ( multi_hold ) %]
920
                        [% IF ( multi_hold ) %]
926
                            <input type = "hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
921
                            [% FOREACH biblionumber IN biblionumbers %]
922
                            <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/>
923
                            [% END %]
927
                        [% END %]
924
                        [% END %]
928
925
929
                        [% IF enqueued %]
926
                        [% IF enqueued %]
Lines 1154-1160 Link Here
1154
    [% Asset.js("js/holds.js") | $raw%]
1151
    [% Asset.js("js/holds.js") | $raw%]
1155
    <script>
1152
    <script>
1156
        var Sticky;
1153
        var Sticky;
1157
        var biblionumber = "[% biblionumber | $raw %]";
1154
        var biblionumbers = [[% biblionumbers.join(', ') | $raw %]];
1158
        var borrowernumber = "[% patron.borrowernumber | $raw %]";
1155
        var borrowernumber = "[% patron.borrowernumber | $raw %]";
1159
        var patron_homebranch = "[% To.json( Branches.GetName( patron.branchcode ) ) | $raw %]";
1156
        var patron_homebranch = "[% To.json( Branches.GetName( patron.branchcode ) ) | $raw %]";
1160
        var override_items = {[% FOREACH biblio IN biblioloop %][% FOREACH itemloo IN biblio.itemloop %][% IF ( itemloo.override ) %]
1157
        var override_items = {[% FOREACH biblio IN biblioloop %][% FOREACH itemloo IN biblio.itemloop %][% IF ( itemloo.override ) %]
Lines 1220-1226 Link Here
1220
                    var pickup = $("#pickup").val();
1217
                    var pickup = $("#pickup").val();
1221
                    var url = "?pickup=" + pickup;
1218
                    var url = "?pickup=" + pickup;
1222
                    url += "&borrowernumber=" + borrowernumber;
1219
                    url += "&borrowernumber=" + borrowernumber;
1223
                    url += "&biblionumber=" + biblionumber;
1220
                    url += "&biblionumber=" + biblionumbers[0];
1224
                    window.location.replace(url);
1221
                    window.location.replace(url);
1225
                });
1222
                });
1226
            [% END %]
1223
            [% END %]
Lines 1240-1247 Link Here
1240
            $("#club-request-form").on("submit", function() {
1237
            $("#club-request-form").on("submit", function() {
1241
                let $t = $(this);
1238
                let $t = $(this);
1242
                $('.clubalert, .holdalert').addClass('hide');
1239
                $('.clubalert, .holdalert').addClass('hide');
1243
                let biblionumbers = [biblionumber];
1244
                let biblionumbers_text;
1245
                const data = {
1240
                const data = {
1246
                    pickup_library_id: $('select[name="pickup"]').val()
1241
                    pickup_library_id: $('select[name="pickup"]').val()
1247
                };
1242
                };
Lines 1257-1268 Link Here
1257
                if($('input[name="default_patron_home"]:checked').length) {
1252
                if($('input[name="default_patron_home"]:checked').length) {
1258
                    data.default_patron_home = 1;
1253
                    data.default_patron_home = 1;
1259
                }
1254
                }
1260
                if($('input[name="biblionumbers"]').length) {
1261
                    biblionumbers_text = $('input[name="biblionumbers"]').val();
1262
                    biblionumbers = biblionumbers_text.replace(/\/$/, '').split('/')
1263
                }
1264
1255
1265
                const count = $('input[name="holds_to_place_count"]').length?$('input[name="holds_to_place_count"]').val():1;
1256
                const count = $('input[name="holds_to_place_count"]').length?$('input[name="holds_to_place_count"]').val():1;
1257
                var newloc = 'request.pl?';
1258
                biblionumbers.forEach(function (biblionumber) {
1259
                    newloc += '&biblionumber=' + biblionumber;
1260
                });
1261
1266
                biblionumbers.forEach(function(biblionumber) {
1262
                biblionumbers.forEach(function(biblionumber) {
1267
                    data.biblio_id = biblionumber;
1263
                    data.biblio_id = biblionumber;
1268
                    let options = {
1264
                    let options = {
Lines 1274-1284 Link Here
1274
                    for(let i = 0; i < count; i++) {
1270
                    for(let i = 0; i < count; i++) {
1275
                        $.ajax(options)
1271
                        $.ajax(options)
1276
                        .then(function(result) {
1272
                        .then(function(result) {
1277
                            let url = 'request.pl?biblionumber='+biblionumber;
1273
                            document.location = newloc;
1278
                            if(biblionumbers_text) {
1279
                                url = 'request.pl?biblionumbers='+biblionumbers_text;
1280
                            }
1281
                            document.location = url;
1282
                        })
1274
                        })
1283
                        .fail(function(err) {
1275
                        .fail(function(err) {
1284
                            var message = err.responseJSON.error;
1276
                            var message = err.responseJSON.error;
Lines 1373-1379 Link Here
1373
1365
1374
        function checkMultiHold() {
1366
        function checkMultiHold() {
1375
1367
1376
            var biblionumbers = "";
1377
            var selected_bibs = $(".multi_hold_item_checkbox:checked");
1368
            var selected_bibs = $(".multi_hold_item_checkbox:checked");
1378
            if ( selected_bibs.length > 0 ) {
1369
            if ( selected_bibs.length > 0 ) {
1379
                // there are biblios selected in the form!
1370
                // there are biblios selected in the form!
Lines 1386-1392 Link Here
1386
                    }
1377
                    }
1387
                    else {
1378
                    else {
1388
                        var bibnum = $(this).attr("title");
1379
                        var bibnum = $(this).attr("title");
1389
                        biblionumbers += bibnum + "/";
1390
                    }
1380
                    }
1391
                });
1381
                });
1392
                if ( pickup_not_set > 0 ) {
1382
                if ( pickup_not_set > 0 ) {
Lines 1406-1412 Link Here
1406
                badBibs += bibnum + "/";
1396
                badBibs += bibnum + "/";
1407
            });
1397
            });
1408
1398
1409
            $("#multi_hold_bibs").val(biblionumbers);
1410
            $("#bad_bibs").val(badBibs);
1399
            $("#bad_bibs").val(badBibs);
1411
1400
1412
            $('#hold-request-form').preventDoubleFormSubmit();
1401
            $('#hold-request-form').preventDoubleFormSubmit();
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt (-5 / +3 lines)
Lines 435-442 Link Here
435
[% END %]
435
[% END %]
436
436
437
<form id="hold_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
437
<form id="hold_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
438
    <!-- Value will be set here by placeHold() -->
438
    <!-- Values will be set here by placeHold() -->
439
    <input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
440
</form>
439
</form>
441
440
442
            </main>
441
            </main>
Lines 762-772 Link Here
762
                alert(MSG_NO_ITEM_SELECTED);
761
                alert(MSG_NO_ITEM_SELECTED);
763
                return false;
762
                return false;
764
            }
763
            }
765
            var bibs = "";
766
            $(checkedItems).each(function() {
764
            $(checkedItems).each(function() {
767
                bibs += $(this).val() + "/";
765
                var bib_param = $("<input>").attr("type", "hidden").attr("name", "biblionumber").val($(this).val());
766
                $('#hold_form').append(bib_param);
768
            });
767
            });
769
            $("#hold_form_biblios").val(bibs);
770
            $("#hold_form").submit();
768
            $("#hold_form").submit();
771
            return false;
769
            return false;
772
        }
770
        }
(-)a/koha-tmpl/intranet-tmpl/prog/js/cart.js (-13 / +8 lines)
Lines 7-28 function placeHold () { Link Here
7
        return false;
7
        return false;
8
    }
8
    }
9
9
10
    var newloc;
10
    var bib_params = [];
11
11
    $(checkedItems).each(function() {
12
    if ($(checkedItems).size() > 1) {
12
        var bib = $(this).val();
13
        var bibs = "";
13
        bib_params.push("biblionumber=" + bib);
14
        $(checkedItems).each(function() {
14
    });
15
            var bib = $(this).val();
16
            bibs += bib + "/";
17
        });
18
15
19
        newloc = "/cgi-bin/koha/reserve/request.pl?biblionumbers=" + bibs + "&multi_hold=1";
16
    if (bib_params.length > 1) {
20
    } else {
17
        bib_params.push('multi_hold=1');
21
        var bib = checkedItems[0].value;
22
        newloc = "/cgi-bin/koha/reserve/request.pl?biblionumber=" + bib;
23
    }
18
    }
24
19
25
    window.opener.location = newloc;
20
    window.opener.location = "/cgi-bin/koha/reserve/request.pl?" + bib_params.join('&');
26
    window.close();
21
    window.close();
27
}
22
}
28
23
(-)a/koha-tmpl/intranet-tmpl/prog/js/pages/results.js (-3 / +6 lines)
Lines 337-348 function placeHold () { Link Here
337
        alert( __("Nothing is selected") );
337
        alert( __("Nothing is selected") );
338
        return false;
338
        return false;
339
    }
339
    }
340
    var bibs = "";
340
    var bibs = [];
341
    $(checkedItems).each(function() {
341
    $(checkedItems).each(function() {
342
        var bib = $(this).val();
342
        var bib = $(this).val();
343
        bibs += bib + "/";
343
        bibs.push(bib);
344
    });
345
    bibs.forEach(function (bib) {
346
        var bib_param = $("<input>").attr("type", "hidden").attr("name", "biblionumber").val(bib);
347
	$('#hold_form').append(bib_param);
344
    });
348
    });
345
    $("#hold_form_biblios").val(bibs);
346
    $("#hold_form").submit();
349
    $("#hold_form").submit();
347
    return false;
350
    return false;
348
}
351
}
(-)a/reserve/modrequest.pl (-2 / +3 lines)
Lines 24-29 Link Here
24
24
25
use Modern::Perl;
25
use Modern::Perl;
26
use CGI qw ( -utf8 );
26
use CGI qw ( -utf8 );
27
use URI;
27
use List::MoreUtils qw( uniq );
28
use List::MoreUtils qw( uniq );
28
use Try::Tiny;
29
use Try::Tiny;
29
30
Lines 104-110 if ( $from eq 'borrower'){ Link Here
104
} elsif ( $from eq 'circ'){
105
} elsif ( $from eq 'circ'){
105
    print $query->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrower[0]");
106
    print $query->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrower[0]");
106
} else {
107
} else {
107
     my $url = "/cgi-bin/koha/reserve/request.pl?";
108
     my $url = URI->new("/cgi-bin/koha/reserve/request.pl");
108
     $url .= "biblionumbers=" . join('/', @biblionumber);
109
     $url->query_form( biblionumber => @biblionumber);
109
     print $query->redirect($url);
110
     print $query->redirect($url);
110
}
111
}
(-)a/reserve/placerequest.pl (-9 / +9 lines)
Lines 24-29 Link Here
24
use Modern::Perl;
24
use Modern::Perl;
25
25
26
use CGI qw ( -utf8 );
26
use CGI qw ( -utf8 );
27
use URI;
27
use C4::Reserves qw( CanItemBeReserved AddReserve CanBookBeReserved );
28
use C4::Reserves qw( CanItemBeReserved AddReserve CanBookBeReserved );
28
use C4::Auth qw( checkauth );
29
use C4::Auth qw( checkauth );
29
30
Lines 35-41 my $input = CGI->new(); Link Here
35
checkauth($input, 0, { reserveforothers => 'place_holds' }, 'intranet');
36
checkauth($input, 0, { reserveforothers => 'place_holds' }, 'intranet');
36
37
37
my @reqbib         = $input->multi_param('reqbib');
38
my @reqbib         = $input->multi_param('reqbib');
38
my $biblionumber   = $input->param('biblionumber');
39
my @biblionumbers   = $input->multi_param('biblionumber');
39
my $borrowernumber = $input->param('borrowernumber');
40
my $borrowernumber = $input->param('borrowernumber');
40
my $notes          = $input->param('notes');
41
my $notes          = $input->param('notes');
41
my $branch         = $input->param('pickup');
42
my $branch         = $input->param('pickup');
Lines 50-63 my $non_priority = $input->param('non_priority'); Link Here
50
51
51
my $patron = Koha::Patrons->find( $borrowernumber );
52
my $patron = Koha::Patrons->find( $borrowernumber );
52
53
53
my $biblionumbers = $input->param('biblionumbers');
54
my $bad_bibs_param = $input->param('bad_bibs');
54
$biblionumbers ||= $biblionumber . '/';
55
my @bad_bibs = split '/', $bad_bibs_param;
55
56
my $bad_bibs = $input->param('bad_bibs');
57
my $holds_to_place_count = $input->param('holds_to_place_count') || 1;
56
my $holds_to_place_count = $input->param('holds_to_place_count') || 1;
58
57
59
my %bibinfos = ();
58
my %bibinfos = ();
60
my @biblionumbers = split '/', $biblionumbers;
61
foreach my $bibnum (@biblionumbers) {
59
foreach my $bibnum (@biblionumbers) {
62
    my %bibinfo = ();
60
    my %bibinfo = ();
63
    $bibinfo{title}  = $input->param("title_$bibnum");
61
    $bibinfo{title}  = $input->param("title_$bibnum");
Lines 150-159 if ( $type eq 'str8' && $patron ) { Link Here
150
        }
148
        }
151
    }
149
    }
152
150
153
    if ($bad_bibs) {
151
    if (@bad_bibs) {
154
        $biblionumbers .= $bad_bibs;
152
        push @biblionumbers, @bad_bibs;
155
    }
153
    }
156
    print $input->redirect("request.pl?biblionumbers=$biblionumbers");
154
    my $redirect_url = URI->new("request.pl");
155
    $redirect_url->query_form( biblionumber => @biblionumbers);
156
    print $input->redirect($redirect_url);
157
}
157
}
158
elsif ( $borrowernumber eq '' ) {
158
elsif ( $borrowernumber eq '' ) {
159
    print $input->header();
159
    print $input->header();
(-)a/reserve/request.pl (-20 / +5 lines)
Lines 184-206 if($findclub) { Link Here
184
    }
184
    }
185
}
185
}
186
186
187
my @biblionumbers = ();
187
my @biblionumbers = $input->multi_param('biblionumber');
188
my $biblionumber = $input->param('biblionumber');
189
my $biblionumbers = $input->param('biblionumbers');
190
if ( $biblionumbers ) {
191
    @biblionumbers = split '/', $biblionumbers;
192
} else {
193
    push @biblionumbers, $input->multi_param('biblionumber');
194
}
195
188
196
my $multi_hold = @biblionumbers > 1;
189
my $multi_hold = @biblionumbers > 1;
197
$template->param(
190
$template->param(
198
    multi_hold => $multi_hold,
191
    multi_hold => $multi_hold,
199
);
192
);
200
193
201
# If we are coming from the search result and only 1 is selected
202
$biblionumber ||= $biblionumbers[0] unless $multi_hold;
203
204
# If we have the borrowernumber because we've performed an action, then we
194
# If we have the borrowernumber because we've performed an action, then we
205
# don't want to try to place another reserve.
195
# don't want to try to place another reserve.
206
if ($borrowernumber_hold && !$action) {
196
if ($borrowernumber_hold && !$action) {
Lines 706-722 if ( ( $findborrower && $borrowernumber_hold || $findclub && $club_hold ) Link Here
706
    $template->param( no_reserves_allowed => $no_reserves_allowed );
696
    $template->param( no_reserves_allowed => $no_reserves_allowed );
707
    $template->param( exceeded_maxreserves => $exceeded_maxreserves );
697
    $template->param( exceeded_maxreserves => $exceeded_maxreserves );
708
    $template->param( exceeded_holds_per_record => $exceeded_holds_per_record );
698
    $template->param( exceeded_holds_per_record => $exceeded_holds_per_record );
709
    $template->param( subscriptionsnumber => CountSubscriptionFromBiblionumber($biblionumber));
699
    # FIXME: getting just the first bib's result doesn't seem right
700
    $template->param( subscriptionsnumber => CountSubscriptionFromBiblionumber($biblionumbers[0]));
710
} elsif ( ! $multi_hold ) {
701
} elsif ( ! $multi_hold ) {
711
    my $biblio = Koha::Biblios->find( $biblionumber );
702
    my $biblio = Koha::Biblios->find( $biblionumbers[0] );
712
    $template->param( biblio => $biblio );
703
    $template->param( biblio => $biblio );
713
}
704
}
714
705
$template->param( biblionumbers => \@biblionumbers );
715
if ( $multi_hold ) {
716
    $template->param( biblionumbers => join('/', @biblionumbers) );
717
} else {
718
    $template->param( biblionumber => $biblionumber || $biblionumbers[0] );
719
}
720
706
721
# pass the userenv branch if no pickup location selected
707
# pass the userenv branch if no pickup location selected
722
$template->param( pickup => $pickup || C4::Context->userenv->{branch} );
708
$template->param( pickup => $pickup || C4::Context->userenv->{branch} );
723
- 

Return to bug 28782