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 645-651 Link Here
645
                    <input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
645
                    <input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
646
                    <input type="hidden" name="findborrower" id="holdFor" value="" />
646
                    <input type="hidden" name="findborrower" id="holdFor" value="" />
647
                    <input type="hidden" name="club" id="holdForClub" value="" />
647
                    <input type="hidden" name="club" id="holdForClub" value="" />
648
                    <input type="hidden" name="multi_hold" value="1"/>
649
                </form>
648
                </form>
650
649
651
                <form id="list_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
650
                <form id="list_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-13 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
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 -->
108
                                </form> <!-- /#holds_patronsearch -->
115
                            </div>
109
                            </div>
116
                            <div role="tabpanel" class="tab-pane" id="holds_clubsearch_pane">
110
                            <div role="tabpanel" class="tab-pane" id="holds_clubsearch_pane">
Lines 119-134 Link Here
119
                                    <input type="text" size="40" id="club" class="focus" name="findclub" autocomplete="off" />
113
                                    <input type="text" size="40" id="club" class="focus" name="findclub" autocomplete="off" />
120
                                    <input type="submit" value="Search" />
114
                                    <input type="submit" value="Search" />
121
                                    [% IF multi_hold %]
115
                                    [% IF multi_hold %]
122
                                        <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
123
                                        <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
116
                                        <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
124
                                    [% ELSE %]
117
                                    [% ELSE %]
125
                                        <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
118
                                        <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
126
                                    [% END %]
119
                                    [% END %]
127
120
128
                                    [% IF ( multi_hold ) %]
129
                                        <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
130
                                        <input type="hidden" name="biblionumbers" value="[% biblionumbers | html %]"/>
131
                                    [% END %]
132
                                </form> <!-- /#holds_patronsearch -->
121
                                </form> <!-- /#holds_patronsearch -->
133
                            </div>
122
                            </div>
134
                        </div>
123
                        </div>
Lines 149-155 Link Here
149
                    <form action="/api/v1/clubs/[% club.id | html %]/holds" method="post" name="form" id="club-request-form">
138
                    <form action="/api/v1/clubs/[% club.id | html %]/holds" method="post" name="form" id="club-request-form">
150
139
151
                        [% IF ( multi_hold ) %]
140
                        [% IF ( multi_hold ) %]
152
                            <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
153
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
141
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
154
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
142
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
155
                            <input type="hidden" name="request" value="any"/>
143
                            <input type="hidden" name="request" value="any"/>
Lines 386-392 Link Here
386
                        <input type="hidden" name="type" value="str8" />
374
                        <input type="hidden" name="type" value="str8" />
387
375
388
                        [% IF ( multi_hold ) %]
376
                        [% IF ( multi_hold ) %]
389
                            <input type="hidden" name="multi_hold" value="[% multi_hold | html %]"/>
390
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
377
                            <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/>
391
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
378
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
392
                            <input type="hidden" name="request" value="any"/>
379
                            <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 50-56 my @expirationdates = $query->multi_param('expirationdate'); Link Here
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 @suspend_until=$query->multi_param('suspend_until');
52
my @suspend_until=$query->multi_param('suspend_until');
53
my $multi_hold = $query->param('multi_hold');
54
my $biblionumbers = $query->param('biblionumbers');
53
my $biblionumbers = $query->param('biblionumbers');
55
my $count=@rank;
54
my $count=@rank;
56
55
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 105-111 if ( $type eq 'str8' && $borrower ) { Link Here
105
                    $checkitem, $found, $itemtype );
106
                    $checkitem, $found, $itemtype );
106
            }
107
            }
107
108
108
        } elsif ($multi_hold) {
109
        } elsif (@biblionumbers > 1) {
109
            my $bibinfo = $bibinfos{$biblionumber};
110
            my $bibinfo = $bibinfos{$biblionumber};
110
            if ( $can_override || CanBookBeReserved($borrower->{'borrowernumber'}, $biblionumber)->{status} eq 'OK' ) {
111
            if ( $can_override || CanBookBeReserved($borrower->{'borrowernumber'}, $biblionumber)->{status} eq 'OK' ) {
111
                AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,[$biblionumber],
112
                AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,[$biblionumber],
Lines 123-137 if ( $type eq 'str8' && $borrower ) { Link Here
123
        }
124
        }
124
    }
125
    }
125
126
126
    if ($multi_hold) {
127
    if ($bad_bibs) {
127
        if ($bad_bibs) {
128
        $biblionumbers .= $bad_bibs;
128
            $biblionumbers .= $bad_bibs;
129
        }
130
        print $input->redirect("request.pl?biblionumbers=$biblionumbers&multi_hold=1");
131
    }
132
    else {
133
        print $input->redirect("request.pl?biblionumber=$biblionumber");
134
    }
129
    }
130
    print $input->redirect("request.pl?biblionumber=$biblionumber");
135
}
131
}
136
elsif ( $borrowernumber eq '' ) {
132
elsif ( $borrowernumber eq '' ) {
137
    print $input->header();
133
    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 451-457 foreach my $biblionumber (@biblionumbers) { Link Here
451
                $do_check = $patron->do_check_for_previous_checkout($item) if $wants_check;
450
                $do_check = $patron->do_check_for_previous_checkout($item) if $wants_check;
452
                if ( $do_check && $wants_check ) {
451
                if ( $do_check && $wants_check ) {
453
                    $item->{checked_previously} = $do_check;
452
                    $item->{checked_previously} = $do_check;
454
                    if ( $multihold ) {
453
                    if ( $multi_hold ) {
455
                        $biblioloopiter{checked_previously} = $do_check;
454
                        $biblioloopiter{checked_previously} = $do_check;
456
                    } else {
455
                    } else {
457
                        $template->param( checked_previously => $do_check );
456
                        $template->param( checked_previously => $do_check );
458
- 

Return to bug 16547