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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-3 / +11 lines)
Lines 253-259 function checkMultiHold() { Link Here
253
    </form>
253
    </form>
254
  [% ELSIF NOT noitems %]
254
  [% ELSIF NOT noitems %]
255
255
256
[% IF ( exceeded_maxreserves || alreadyreserved || none_available || alreadypossession || ageRestricted ) %]
256
[% IF ( exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted ) %]
257
    <div class="dialog alert">
257
    <div class="dialog alert">
258
258
259
    [% UNLESS ( multi_hold ) %]
259
    [% UNLESS ( multi_hold ) %]
Lines 261-266 function checkMultiHold() { Link Here
261
      <ul>
261
      <ul>
262
        [% IF ( exceeded_maxreserves ) %]
262
        [% IF ( exceeded_maxreserves ) %]
263
          <li><strong>Too many holds: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %] </a> can only place a maximum of [% maxreserves %] total holds.</li>
263
          <li><strong>Too many holds: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %] </a> can only place a maximum of [% maxreserves %] total holds.</li>
264
        [% ELSIF ( exceeded_holds_per_record ) %]
265
          <li><strong>Too many holds for this record: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %] </a> can only place a maximum of [% max_holds_for_record %] hold(s) on this record.</li>
264
        [% ELSIF ( alreadypossession ) %]
266
        [% ELSIF ( alreadypossession ) %]
265
          <li> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>is already in possession</strong> of one item</lie
267
          <li> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>is already in possession</strong> of one item</lie
266
        [% ELSIF ( alreadyreserved ) %]
268
        [% ELSIF ( alreadyreserved ) %]
Lines 277-282 function checkMultiHold() { Link Here
277
        <h3>Cannot place hold on some items</h3>
279
        <h3>Cannot place hold on some items</h3>
278
        [% IF ( exceeded_maxreserves ) %]
280
        [% IF ( exceeded_maxreserves ) %]
279
          <li><strong>Too many holds: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %] </a> can place [% new_reserves_allowed %] of the requested [% new_reserves_count %] holds for a maximum of [% maxreserves %] total holds.</li>
281
          <li><strong>Too many holds: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %] </a> can place [% new_reserves_allowed %] of the requested [% new_reserves_count %] holds for a maximum of [% maxreserves %] total holds.</li>
282
        [% ELSIF ( exceeded_holds_per_record ) %]
283
            [% FOREACH biblioloo IN biblioloop %]
284
                [% IF (biblioloo.tooManyHoldsForThisRecord) %]
285
                    <li><strong>Too many holds for <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber %]"> [% biblioloo.title %]</a>: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %] </a> can only place a maximum of [% max_holds_for_record %] hold(s) on this record.</li>
286
                [% END %]
287
            [% END %]
280
        [% END %]
288
        [% END %]
281
    [% END %]
289
    [% END %]
282
290
Lines 406-417 function checkMultiHold() { Link Here
406
               <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
414
               <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
407
          </li>
415
          </li>
408
416
409
          [% IF max_holds_for_record > 1 %]
417
          [% IF remaining_holds_for_record > 1 %]
410
              [% SET count = 1 %]
418
              [% SET count = 1 %]
411
              <li>
419
              <li>
412
                   <label for="holds_to_place_count">Holds to place (count)</label>
420
                   <label for="holds_to_place_count">Holds to place (count)</label>
413
                   <select name="holds_to_place_count" id="holds_to_place_count">
421
                   <select name="holds_to_place_count" id="holds_to_place_count">
414
                   [% WHILE count <= max_holds_for_record %]
422
                   [% WHILE count <= remaining_holds_for_record %]
415
                        <option value="[% count %]">[% count %]</option>
423
                        <option value="[% count %]">[% count %]</option>
416
                        [% SET count = count + 1 %]
424
                        [% SET count = count + 1 %]
417
                   [% END %]
425
                   [% END %]
(-)a/reserve/request.pl (-3 / +9 lines)
Lines 82-87 my $messageborrower; Link Here
82
my $warnings;
82
my $warnings;
83
my $messages;
83
my $messages;
84
my $exceeded_maxreserves;
84
my $exceeded_maxreserves;
85
my $exceeded_holds_per_record;
85
86
86
my $date = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 });
87
my $date = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 });
87
my $action = $input->param('action');
88
my $action = $input->param('action');
Lines 227-232 foreach my $biblionumber (@biblionumbers) { Link Here
227
    elsif ( $canReserve eq 'tooManyReserves' ) {
228
    elsif ( $canReserve eq 'tooManyReserves' ) {
228
        $exceeded_maxreserves = 1;
229
        $exceeded_maxreserves = 1;
229
    }
230
    }
231
    elsif ( $canReserve eq 'tooManyHoldsForThisRecord' ) {
232
        $exceeded_holds_per_record = 1;
233
        $biblioloopiter{$canReserve} = 1;
234
    }
230
    elsif ( $canReserve eq 'ageRestricted' ) {
235
    elsif ( $canReserve eq 'ageRestricted' ) {
231
        $template->param( $canReserve => 1 );
236
        $template->param( $canReserve => 1 );
232
        $biblioloopiter{$canReserve} = 1;
237
        $biblioloopiter{$canReserve} = 1;
Lines 256-264 foreach my $biblionumber (@biblionumbers) { Link Here
256
        # For a librarian to be able to place multiple record holds for a patron for a record,
261
        # For a librarian to be able to place multiple record holds for a patron for a record,
257
        # we must find out what the maximum number of holds they can place for the patron is
262
        # we must find out what the maximum number of holds they can place for the patron is
258
        my $max_holds_for_record = GetMaxPatronHoldsForRecord( $borrowerinfo->{borrowernumber}, $biblionumber );
263
        my $max_holds_for_record = GetMaxPatronHoldsForRecord( $borrowerinfo->{borrowernumber}, $biblionumber );
259
        $max_holds_for_record = $max_holds_for_record - $holds->count();
264
        my $remaining_holds_for_record = $max_holds_for_record - $holds->count();
260
        $biblioloopiter{max_holds_for_record} = $max_holds_for_record;
265
        $biblioloopiter{remaining_holds_for_record} = $max_holds_for_record;
261
        $template->param( max_holds_for_record => $max_holds_for_record );
266
        $template->param( max_holds_for_record => $max_holds_for_record );
267
        $template->param( remaining_holds_for_record => $remaining_holds_for_record );
262
    }
268
    }
263
269
264
    # Check to see if patron is allowed to place holds on records where the
270
    # Check to see if patron is allowed to place holds on records where the
Lines 635-640 foreach my $biblionumber (@biblionumbers) { Link Here
635
$template->param( biblioloop => \@biblioloop );
641
$template->param( biblioloop => \@biblioloop );
636
$template->param( biblionumbers => $biblionumbers );
642
$template->param( biblionumbers => $biblionumbers );
637
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
643
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
644
$template->param( exceeded_holds_per_record => $exceeded_holds_per_record );
638
645
639
if ($multihold) {
646
if ($multihold) {
640
    $template->param( multi_hold => 1 );
647
    $template->param( multi_hold => 1 );
641
- 

Return to bug 14695