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 291-297 function checkMultiHold() { Link Here
291
    </form>
291
    </form>
292
  [% ELSIF NOT noitems %]
292
  [% ELSIF NOT noitems %]
293
293
294
[% IF ( exceeded_maxreserves || alreadyreserved || none_available || alreadypossession || ageRestricted ) %]
294
[% IF ( exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted ) %]
295
    <div class="dialog alert">
295
    <div class="dialog alert">
296
296
297
    [% UNLESS ( multi_hold ) %]
297
    [% UNLESS ( multi_hold ) %]
Lines 299-304 function checkMultiHold() { Link Here
299
      <ul>
299
      <ul>
300
        [% IF ( exceeded_maxreserves ) %]
300
        [% IF ( exceeded_maxreserves ) %]
301
          <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
          <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>
302
        [% ELSIF ( exceeded_holds_per_record ) %]
303
          <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>
302
        [% ELSIF ( alreadypossession ) %]
304
        [% ELSIF ( alreadypossession ) %]
303
          <li> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>is already in possession</strong> of one item</lie
305
          <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
        [% ELSIF ( alreadyreserved ) %]
306
        [% ELSIF ( alreadyreserved ) %]
Lines 315-320 function checkMultiHold() { Link Here
315
        <h3>Cannot place hold on some items</h3>
317
        <h3>Cannot place hold on some items</h3>
316
        [% IF ( exceeded_maxreserves ) %]
318
        [% IF ( exceeded_maxreserves ) %]
317
          <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
          <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>
320
        [% ELSIF ( exceeded_holds_per_record ) %]
321
            [% FOREACH biblioloo IN biblioloop %]
322
                [% IF (biblioloo.tooManyHoldsForThisRecord) %]
323
                    <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>
324
                [% END %]
325
            [% END %]
318
        [% END %]
326
        [% END %]
319
    [% END %]
327
    [% END %]
320
328
Lines 444-455 function checkMultiHold() { Link Here
444
               <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
452
               <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
445
          </li>
453
          </li>
446
454
447
          [% IF max_holds_for_record > 1 %]
455
          [% IF remaining_holds_for_record > 1 %]
448
              [% SET count = 1 %]
456
              [% SET count = 1 %]
449
              <li>
457
              <li>
450
                   <label for="holds_to_place_count">Holds to place (count)</label>
458
                   <label for="holds_to_place_count">Holds to place (count)</label>
451
                   <select name="holds_to_place_count" id="holds_to_place_count">
459
                   <select name="holds_to_place_count" id="holds_to_place_count">
452
                   [% WHILE count <= max_holds_for_record %]
460
                   [% WHILE count <= remaining_holds_for_record %]
453
                        <option value="[% count %]">[% count %]</option>
461
                        <option value="[% count %]">[% count %]</option>
454
                        [% SET count = count + 1 %]
462
                        [% SET count = count + 1 %]
455
                   [% END %]
463
                   [% 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 634-639 foreach my $biblionumber (@biblionumbers) { Link Here
634
$template->param( biblioloop => \@biblioloop );
640
$template->param( biblioloop => \@biblioloop );
635
$template->param( biblionumbers => $biblionumbers );
641
$template->param( biblionumbers => $biblionumbers );
636
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
642
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
643
$template->param( exceeded_holds_per_record => $exceeded_holds_per_record );
637
644
638
if ($multihold) {
645
if ($multihold) {
639
    $template->param( multi_hold => 1 );
646
    $template->param( multi_hold => 1 );
640
- 

Return to bug 14695