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 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 225-230 foreach my $biblionumber (@biblionumbers) { Link Here
225
    elsif ( $canReserve eq 'tooManyReserves' ) {
226
    elsif ( $canReserve eq 'tooManyReserves' ) {
226
        $exceeded_maxreserves = 1;
227
        $exceeded_maxreserves = 1;
227
    }
228
    }
229
    elsif ( $canReserve eq 'tooManyHoldsForThisRecord' ) {
230
        $exceeded_holds_per_record = 1;
231
        $biblioloopiter{$canReserve} = 1;
232
    }
228
    elsif ( $canReserve eq 'ageRestricted' ) {
233
    elsif ( $canReserve eq 'ageRestricted' ) {
229
        $template->param( $canReserve => 1 );
234
        $template->param( $canReserve => 1 );
230
        $biblioloopiter{$canReserve} = 1;
235
        $biblioloopiter{$canReserve} = 1;
Lines 254-262 foreach my $biblionumber (@biblionumbers) { Link Here
254
        # For a librarian to be able to place multiple record holds for a patron for a record,
259
        # For a librarian to be able to place multiple record holds for a patron for a record,
255
        # we must find out what the maximum number of holds they can place for the patron is
260
        # we must find out what the maximum number of holds they can place for the patron is
256
        my $max_holds_for_record = GetMaxPatronHoldsForRecord( $borrowerinfo->{borrowernumber}, $biblionumber );
261
        my $max_holds_for_record = GetMaxPatronHoldsForRecord( $borrowerinfo->{borrowernumber}, $biblionumber );
257
        $max_holds_for_record = $max_holds_for_record - $holds->count();
262
        my $remaining_holds_for_record = $max_holds_for_record - $holds->count();
258
        $biblioloopiter{max_holds_for_record} = $max_holds_for_record;
263
        $biblioloopiter{remaining_holds_for_record} = $max_holds_for_record;
259
        $template->param( max_holds_for_record => $max_holds_for_record );
264
        $template->param( max_holds_for_record => $max_holds_for_record );
265
        $template->param( remaining_holds_for_record => $remaining_holds_for_record );
260
    }
266
    }
261
267
262
    # Check to see if patron is allowed to place holds on records where the
268
    # Check to see if patron is allowed to place holds on records where the
Lines 628-633 foreach my $biblionumber (@biblionumbers) { Link Here
628
$template->param( biblioloop => \@biblioloop );
634
$template->param( biblioloop => \@biblioloop );
629
$template->param( biblionumbers => $biblionumbers );
635
$template->param( biblionumbers => $biblionumbers );
630
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
636
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
637
$template->param( exceeded_holds_per_record => $exceeded_holds_per_record );
631
638
632
if ($multihold) {
639
if ($multihold) {
633
    $template->param( multi_hold => 1 );
640
    $template->param( multi_hold => 1 );
634
- 

Return to bug 14695