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 290-296 function checkMultiHold() { Link Here
290
    </form>
290
    </form>
291
  [% ELSIF NOT noitems %]
291
  [% ELSIF NOT noitems %]
292
292
293
[% IF ( exceeded_maxreserves || alreadyreserved || none_available || alreadypossession || ageRestricted ) %]
293
[% IF ( exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted ) %]
294
    <div class="dialog alert">
294
    <div class="dialog alert">
295
295
296
    [% UNLESS ( multi_hold ) %]
296
    [% UNLESS ( multi_hold ) %]
Lines 298-303 function checkMultiHold() { Link Here
298
      <ul>
298
      <ul>
299
        [% IF ( exceeded_maxreserves ) %]
299
        [% IF ( exceeded_maxreserves ) %]
300
          <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>
300
          <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>
301
        [% ELSIF ( exceeded_holds_per_record ) %]
302
          <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>
301
        [% ELSIF ( alreadypossession ) %]
303
        [% ELSIF ( alreadypossession ) %]
302
          <li> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>is already in possession</strong> of one item</lie
304
          <li> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>is already in possession</strong> of one item</lie
303
        [% ELSIF ( alreadyreserved ) %]
305
        [% ELSIF ( alreadyreserved ) %]
Lines 314-319 function checkMultiHold() { Link Here
314
        <h3>Cannot place hold on some items</h3>
316
        <h3>Cannot place hold on some items</h3>
315
        [% IF ( exceeded_maxreserves ) %]
317
        [% IF ( exceeded_maxreserves ) %]
316
          <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>
318
          <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>
319
        [% ELSIF ( exceeded_holds_per_record ) %]
320
            [% FOREACH biblioloo IN biblioloop %]
321
                [% IF (biblioloo.tooManyHoldsForThisRecord) %]
322
                    <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>
323
                [% END %]
324
            [% END %]
317
        [% END %]
325
        [% END %]
318
    [% END %]
326
    [% END %]
319
327
Lines 429-440 function checkMultiHold() { Link Here
429
               <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
437
               <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
430
          </li>
438
          </li>
431
439
432
          [% IF max_holds_for_record > 1 %]
440
          [% IF remaining_holds_for_record > 1 %]
433
              [% SET count = 1 %]
441
              [% SET count = 1 %]
434
              <li>
442
              <li>
435
                   <label for="holds_to_place_count">Holds to place (count)</label>
443
                   <label for="holds_to_place_count">Holds to place (count)</label>
436
                   <select name="holds_to_place_count" id="holds_to_place_count">
444
                   <select name="holds_to_place_count" id="holds_to_place_count">
437
                   [% WHILE count <= max_holds_for_record %]
445
                   [% WHILE count <= remaining_holds_for_record %]
438
                        <option value="[% count %]">[% count %]</option>
446
                        <option value="[% count %]">[% count %]</option>
439
                        [% SET count = count + 1 %]
447
                        [% SET count = count + 1 %]
440
                   [% END %]
448
                   [% END %]
(-)a/reserve/request.pl (-3 / +9 lines)
Lines 83-88 my $messageborrower; Link Here
83
my $warnings;
83
my $warnings;
84
my $messages;
84
my $messages;
85
my $exceeded_maxreserves;
85
my $exceeded_maxreserves;
86
my $exceeded_holds_per_record;
86
87
87
my $date = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 });
88
my $date = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 });
88
my $action = $input->param('action');
89
my $action = $input->param('action');
Lines 226-231 foreach my $biblionumber (@biblionumbers) { Link Here
226
    elsif ( $canReserve eq 'tooManyReserves' ) {
227
    elsif ( $canReserve eq 'tooManyReserves' ) {
227
        $exceeded_maxreserves = 1;
228
        $exceeded_maxreserves = 1;
228
    }
229
    }
230
    elsif ( $canReserve eq 'tooManyHoldsForThisRecord' ) {
231
        $exceeded_holds_per_record = 1;
232
        $biblioloopiter{$canReserve} = 1;
233
    }
229
    elsif ( $canReserve eq 'ageRestricted' ) {
234
    elsif ( $canReserve eq 'ageRestricted' ) {
230
        $template->param( $canReserve => 1 );
235
        $template->param( $canReserve => 1 );
231
        $biblioloopiter{$canReserve} = 1;
236
        $biblioloopiter{$canReserve} = 1;
Lines 255-263 foreach my $biblionumber (@biblionumbers) { Link Here
255
        # For a librarian to be able to place multiple record holds for a patron for a record,
260
        # For a librarian to be able to place multiple record holds for a patron for a record,
256
        # we must find out what the maximum number of holds they can place for the patron is
261
        # we must find out what the maximum number of holds they can place for the patron is
257
        my $max_holds_for_record = GetMaxPatronHoldsForRecord( $borrowerinfo->{borrowernumber}, $biblionumber );
262
        my $max_holds_for_record = GetMaxPatronHoldsForRecord( $borrowerinfo->{borrowernumber}, $biblionumber );
258
        $max_holds_for_record = $max_holds_for_record - $holds->count();
263
        my $remaining_holds_for_record = $max_holds_for_record - $holds->count();
259
        $biblioloopiter{max_holds_for_record} = $max_holds_for_record;
264
        $biblioloopiter{remaining_holds_for_record} = $max_holds_for_record;
260
        $template->param( max_holds_for_record => $max_holds_for_record );
265
        $template->param( max_holds_for_record => $max_holds_for_record );
266
        $template->param( remaining_holds_for_record => $remaining_holds_for_record );
261
    }
267
    }
262
268
263
    # Check to see if patron is allowed to place holds on records where the
269
    # Check to see if patron is allowed to place holds on records where the
Lines 627-632 foreach my $biblionumber (@biblionumbers) { Link Here
627
$template->param( biblioloop => \@biblioloop );
633
$template->param( biblioloop => \@biblioloop );
628
$template->param( biblionumbers => $biblionumbers );
634
$template->param( biblionumbers => $biblionumbers );
629
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
635
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
636
$template->param( exceeded_holds_per_record => $exceeded_holds_per_record );
630
637
631
if ($multihold) {
638
if ($multihold) {
632
    $template->param( multi_hold => 1 );
639
    $template->param( multi_hold => 1 );
633
- 

Return to bug 14695