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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-273 / +314 lines)
Lines 433-460 Link Here
433
                <div class="dialog alert hide holdalert">
433
                <div class="dialog alert hide holdalert">
434
                </div>
434
                </div>
435
435
436
                <fieldset class="rows">
436
                [% UNLESS ( multi_hold ) %]
437
                    <legend>Hold details</legend>
437
                    <fieldset class="rows">
438
                    <form action="placerequest.pl" method="post" name="form" id="hold-request-form">
438
                        <legend>Hold details</legend>
439
                        <form action="placerequest.pl" method="post" name="form" id="hold-request-form">
439
440
440
                        <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
441
                            <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
441
                        <input type="hidden" name="type" value="str8" />
442
                            <input type="hidden" name="type" value="str8" />
442
443
443
                        [% FOREACH biblionumber IN biblionumbers %]
444
                            [% FOREACH biblionumber IN biblionumbers %]
444
                        <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/>
445
                            <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/>
445
                        [% END %]
446
                        [% IF ( multi_hold ) %]
447
                            <input type="hidden" name="multi_holds" id="multi_holds" value="1" />
448
                            <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
449
                            <input type="hidden" name="request" value="any"/>
450
                            [% FOREACH biblioloo IN biblioloop %]
451
                                <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/>
452
                                <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/>
453
                            [% END %]
446
                            [% END %]
454
                        [% ELSE %]
455
                            <input type="hidden" name="title" value="[% biblio.title | html %]" />
447
                            <input type="hidden" name="title" value="[% biblio.title | html %]" />
456
                            <input type="hidden" name="rank-request" value="[% fixedRank | html %]" />
448
                            <input type="hidden" name="rank-request" value="[% fixedRank | html %]" />
457
                        [% END # /IF multi_hold %]
458
449
459
                        <ol>
450
                        <ol>
460
                            <li>
451
                            <li>
Lines 465-527 Link Here
465
                                    Not defined yet
456
                                    Not defined yet
466
                                [% END %]
457
                                [% END %]
467
                            </li>
458
                            </li>
468
459
                            <li>
469
                            [% UNLESS ( multi_hold ) %]
460
                                <span class="label">Estimated priority:</span>
470
                                <li>
461
                                <strong>[% fixedRank | html %]</strong>
471
                                    <span class="label">Estimated priority:</span>
462
                            </li>
472
                                    <strong>[% fixedRank | html %]</strong>
473
                                </li>
474
                            [% END %]
475
476
                            <li>
463
                            <li>
477
                                <label for="holdnotes">Notes:</label>
464
                                <label for="holdnotes">Notes:</label>
478
                                <textarea id="holdnotes" name="notes" cols="30" rows="1"></textarea>
465
                                <textarea id="holdnotes" name="notes" cols="30" rows="1"></textarea>
479
                            </li>
466
                            </li>
480
                            <li>
467
                            <li>
481
                                <label for="pickup">Pickup at:</label>
468
                                <label for="pickup">Pickup at:</label>
482
                            [% UNLESS ( multi_hold ) %]
483
                                <select name="pickup" id="pickup"
469
                                <select name="pickup" id="pickup"
484
                                        data-biblio-id="[% biblio.biblionumber | html %]"
470
                                        data-biblio-id="[% biblio.biblionumber | html %]"
485
                                        data-patron-id="[% patron.borrowernumber | html %]"
471
                                        data-patron-id="[% patron.borrowernumber | html %]"
486
                                        data-pickup-location-source="biblio">
472
                                        data-pickup-location-source="biblio">
487
                                    [% PROCESS options_for_libraries libraries => Branches.pickup_locations({ search_params => { biblio => biblionumber, patron => patron }, selected => pickup }) %]
473
                                    [% PROCESS options_for_libraries libraries => Branches.pickup_locations({ search_params => { biblio => biblionumber, patron => patron }, selected => pickup }) %]
488
                            [% ELSE %]
489
                                <select name="pickup" id="pickup_multi" data-patron-id="[% patron.borrowernumber | html %]">
490
                                    <option value="" selected="selected"></option>
491
                                [% FOREACH pickup_location IN multi_pickup_locations %]
492
                                    <option value="[% pickup_location.branchcode | html %]">[% pickup_location.branchname | html %]</option>
493
                                [% END %]
494
                            [% END %]
495
                                </select>
474
                                </select>
496
                            </li>
475
                            </li>
497
476
                            [% IF Koha.Preference('AllowHoldItemTypeSelection') %]
498
                            [% UNLESS ( multi_hold ) %]
477
                                <li>
499
                                [% IF Koha.Preference('AllowHoldItemTypeSelection') %]
478
                                    <label for="itemtype">Request specific item type:</label>
500
                                    <li>
479
                                    <select name="itemtype" id="itemtype">
501
                                        <label for="itemtype">Request specific item type:</label>
480
                                        <option value="">Any item type</option>
502
                                        <select name="itemtype" id="itemtype">
481
                                        [%- FOREACH itemtype IN available_itemtypes %]
503
                                            <option value="">Any item type</option>
482
                                            <option value="[% itemtype | html %]">[% ItemTypes.GetDescription( itemtype ) | html %]</option>
504
                                            [%- FOREACH itemtype IN available_itemtypes %]
483
                                        [%- END %]
505
                                                <option value="[% itemtype | html %]">[% ItemTypes.GetDescription( itemtype ) | html %]</option>
484
                                    </select>
506
                                            [%- END %]
485
                                </li>
507
                                        </select>
486
                            [% END %]
508
                                    </li>
509
                                [% END %]
510
                            [% END # /UNLESS multi_hold %]
511
512
                            [% IF ( reserve_in_future ) %]
487
                            [% IF ( reserve_in_future ) %]
513
                                <li>
488
                                <li>
514
                                    <label for="from">Hold starts on date:</label>
489
                                    <label for="from">Hold starts on date:</label>
515
                                    <input id="reserve_date" name="reserve_date" id="from" size="10" type="text" data-date_to="expiration_date" class="flatpickr" data-flatpickr-futuredate="true" />
490
                                    <input id="reserve_date" name="reserve_date" id="from" size="10" type="text" data-date_to="expiration_date" class="flatpickr" data-flatpickr-futuredate="true" />
516
                                </li>
491
                                </li>
517
                            [% END %]
492
                            [% END %]
518
519
                            <li>
520
                                <label for="to">Hold expires on date:</label>
521
                                <input id="expiration_date" name="expiration_date" id="to" size="10" type="text" class="flatpickr" data-flatpickr-futuredate="true" />
522
                            </li>
523
524
                            [% UNLESS ( multi_hold ) %]
525
                                <li>
493
                                <li>
526
                                    <label for="requestany">Hold next available item </label>
494
                                    <label for="requestany">Hold next available item </label>
527
                                    [% IF force_hold_level == 'item' %]
495
                                    [% IF force_hold_level == 'item' %]
Lines 543-788 Link Here
543
                                [% ELSE %]
511
                                [% ELSE %]
544
                                    <input type="hidden" name="holds_to_place_count" value="1" />
512
                                    <input type="hidden" name="holds_to_place_count" value="1" />
545
                                [% END %]
513
                                [% END %]
546
                            [% END # /UNLESS multi_hold %]
547
514
515
                            <li>
516
                                <label for="to">Hold expires on date:</label>
517
                                <input id="expiration_date" name="expiration_date" id="to" size="10" type="text" class="flatpickr" data-flatpickr-futuredate="true" />
518
                            </li>
548
                            <li id="non_priority_list_item">
519
                            <li id="non_priority_list_item">
549
                                <label for="non_priority">Non priority hold:</label>
520
                                <label for="non_priority">Non priority hold:</label>
550
                                <input name="non_priority" id="non_priority" type="checkbox" />
521
                                <input name="non_priority" id="non_priority" type="checkbox" />
551
                                <span class="hint">A non priority hold doesn't prevent a current checkout from renewing</span>
522
                                <span class="hint">A non priority hold doesn't prevent a current checkout from renewing</span>
552
                            </li>
523
                            </li>
553
                        </ol>
524
                        </ol>
554
525
                        <fieldset class="action">
555
                        [% UNLESS ( multi_hold ) %]
526
                            [% IF ( patron.borrowernumber ) %]
556
                            <fieldset class="action">
527
                                [% IF ( override_required ) %]
557
                                [% IF ( patron.borrowernumber ) %]
528
                                    <button type="submit" class="btn btn-default warning"><i class="fa fa-exclamation-triangle "></i> Place hold</button>
558
                                    [% IF ( override_required ) %]
529
                                [% ELSIF ( none_available ) %]
559
                                        <button type="submit" class="btn btn-default warning"><i class="fa fa-exclamation-triangle "></i> Place hold</button>
530
                                    <button type="submit" disabled="disabled" class="btn btn-default btn-disabled">Place hold</button>
560
                                    [% ELSIF ( none_available ) %]
531
                                [% ELSE %]
561
                                        <button type="submit" disabled="disabled" class="btn btn-default btn-disabled">Place hold</button>
532
                                    <button type="submit" class="btn btn-default">Place hold</button>
562
                                    [% ELSE %]
563
                                        <button type="submit" class="btn btn-default">Place hold</button>
564
                                    [% END %]
565
                                [% END %]
533
                                [% END %]
566
                            </fieldset>
534
                            [% END %]
535
                        </fieldset>
567
536
568
                            [% biblio = biblioloop.0 %]
537
                        [% biblio = biblioloop.0 %]
569
538
570
                            <ol>
539
                        <ol>
571
                                [% UNLESS Koha.Preference('item-level_itypes') %]
540
                            [% UNLESS Koha.Preference('item-level_itypes') %]
572
                                    <li>
541
                                <li>
573
                                        <span class="label">Item typeX:</span>
542
                                    <span class="label">Item typeX:</span>
574
                                        [% biblio.itemtype.translated_description | html %]
543
                                    [% biblio.itemtype.translated_description | html %]
575
                                    </li>
544
                                </li>
576
                                [% END %]
545
                            [% END %]
577
546
578
                                [% IF ( biblio.biblioitem.publicationyear ) %]
547
                            [% IF ( biblio.biblioitem.publicationyear ) %]
579
                                    <li>
548
                                <li>
580
                                        <span class="label">Publication year:</span>
549
                                    <span class="label">Publication year:</span>
581
                                        [% biblio.biblioitem.publicationyear | html %]
550
                                    [% biblio.biblioitem.publicationyear | html %]
582
                                    </li>
551
                                </li>
583
                                [% END %]
552
                            [% END %]
584
                            </ol>
553
                        </ol>
585
554
586
                            <h2 style="padding: 0 1em;">
555
                        <h2 style="padding: 0 1em;">
587
                                Place a hold on a specific item
556
                            Place a hold on a specific item
588
                                [% IF force_hold_level == 'item' %]
557
                            [% IF force_hold_level == 'item' %]
589
                                     <span class="error"><em>(Required)</em></span>
558
                                 <span class="error"><em>(Required)</em></span>
590
                                [% END %]
559
                            [% END %]
591
                            </h2>
560
                        </h2>
592
561
593
                            <table id="requestspecific">
562
                        <table id="requestspecific">
594
                                <thead>
563
                            <thead>
595
                                    <tr>
564
                                <tr>
596
                                        <th>Hold</th>
565
                                    <th>Hold</th>
597
                                        <th>Allowed pickup locations</th>
566
                                    <th>Allowed pickup locations</th>
598
                                        [% IF Koha.Preference('item-level_itypes') %]
567
                                    [% IF Koha.Preference('item-level_itypes') %]
599
                                            <th>Item type</th>
568
                                        <th>Item type</th>
600
                                        [% END %]
569
                                    [% END %]
601
                                        <th>Barcode</th>
570
                                    <th>Barcode</th>
602
                                        <th>Home library</th>
571
                                    <th>Home library</th>
603
                                        <th>Last location</th>
572
                                    <th>Last location</th>
604
                                        [% IF itemdata_ccode %]
573
                                    [% IF itemdata_ccode %]
605
                                            <th>Collection</th>
574
                                        <th>Collection</th>
606
                                        [% END %]
575
                                    [% END %]
607
                                        <th>Call number</th>
576
                                    <th>Call number</th>
608
                                        <th>Copy number</th>
577
                                    <th>Copy number</th>
609
                                        [% IF itemdata_enumchron %]
578
                                    [% IF itemdata_enumchron %]
610
                                            <th>Vol no.</th>
579
                                        <th>Vol no.</th>
611
                                        [% END %]
580
                                    [% END %]
612
                                        <th>Information</th>
581
                                    <th>Information</th>
613
                                    </tr>
582
                                </tr>
614
                                </thead>
583
                            </thead>
615
                                <tbody>
584
                            <tbody>
616
                                    [% SET selected = 0 %]
585
                                [% SET selected = 0 %]
617
                                    [% FOREACH itemloo IN biblio.itemloop %]
586
                                [% FOREACH itemloo IN biblio.itemloop %]
618
                                        [% UNLESS ( itemloo.hide ) %]
587
                                    [% UNLESS ( itemloo.hide ) %]
619
                                            <tr class="[% itemloo.backgroundcolor | html %]">
588
                                        <tr class="[% itemloo.backgroundcolor | html %]">
620
                                                <td>
589
                                            <td>
621
                                                    [% IF force_hold_level == 'record' # Patron has placed a record level hold previously for this record %]
590
                                                [% IF force_hold_level == 'record' # Patron has placed a record level hold previously for this record %]
622
                                                        <span class="error">
591
                                                    <span class="error">
623
                                                            <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i>
592
                                                        <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i>
624
                                                            Hold must be record level
593
                                                        Hold must be record level
625
                                                        </span>
594
                                                    </span>
626
                                                    [% ELSIF ( itemloo.available ) %]
595
                                                [% ELSIF ( itemloo.available ) %]
627
                                                        <input type="radio" name="checkitem" value="[% itemloo.itemnumber | html %]" />
596
                                                    <input type="radio" name="checkitem" value="[% itemloo.itemnumber | html %]" />
628
                                                    [% ELSIF ( itemloo.override ) %]
597
                                                [% ELSIF ( itemloo.override ) %]
629
                                                        <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber | html %]" />
598
                                                    <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber | html %]" />
630
                                                        <i class="fa fa-exclamation-triangle fa-lg" style="color:gold" title="Requires override of hold policy"/></i>
599
                                                    <i class="fa fa-exclamation-triangle fa-lg" style="color:gold" title="Requires override of hold policy"/></i>
631
                                                    [% ELSE %]
600
                                                [% ELSE %]
632
                                                        <span class="error">
601
                                                    <span class="error">
633
                                                            <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i>
602
                                                        <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i>
634
                                                            [% IF itemloo.not_holdable %]
603
                                                        [% IF itemloo.not_holdable %]
635
                                                                [% IF itemloo.not_holdable == 'damaged' %]
604
                                                            [% IF itemloo.not_holdable == 'damaged' %]
636
                                                                    <span>Item damaged</span>
605
                                                                <span>Item damaged</span>
637
                                                                [% ELSIF itemloo.not_holdable == 'ageRestricted' %]
606
                                                            [% ELSIF itemloo.not_holdable == 'ageRestricted' %]
638
                                                                    <span>Age restricted</span>
607
                                                                <span>Age restricted</span>
639
                                                                [% ELSIF itemloo.not_holdable == 'tooManyHoldsForThisRecord' %]
608
                                                            [% ELSIF itemloo.not_holdable == 'tooManyHoldsForThisRecord' %]
640
                                                                    <span>Exceeded max holds per record</span>
609
                                                                <span>Exceeded max holds per record</span>
641
                                                                [% ELSIF itemloo.not_holdable == 'tooManyReservesToday' %]
610
                                                            [% ELSIF itemloo.not_holdable == 'tooManyReservesToday' %]
642
                                                                    <span>Daily hold limit reached for patron</span>
611
                                                                <span>Daily hold limit reached for patron</span>
643
                                                                [% ELSIF itemloo.not_holdable == 'tooManyReserves' %]
612
                                                            [% ELSIF itemloo.not_holdable == 'tooManyReserves' %]
644
                                                                    <span>Too many holds</span>
613
                                                                <span>Too many holds</span>
645
                                                                [% ELSIF itemloo.not_holdable == 'notReservable' %]
614
                                                            [% ELSIF itemloo.not_holdable == 'notReservable' %]
646
                                                                    <span>Not holdable</span>
615
                                                                <span>Not holdable</span>
647
                                                                [% ELSIF itemloo.not_holdable == 'cannotReserveFromOtherBranches' %]
616
                                                            [% ELSIF itemloo.not_holdable == 'cannotReserveFromOtherBranches' %]
648
                                                                    <span>Patron is from different library</span>
617
                                                                <span>Patron is from different library</span>
649
                                                                [% ELSIF itemloo.not_holdable == 'branchNotInHoldGroup' %]
618
                                                            [% ELSIF itemloo.not_holdable == 'branchNotInHoldGroup' %]
650
                                                                    <span>Cannot place hold from patron's library</span>
619
                                                                <span>Cannot place hold from patron's library</span>
651
                                                                [% ELSIF itemloo.not_holdable == 'itemAlreadyOnHold' %]
620
                                                            [% ELSIF itemloo.not_holdable == 'itemAlreadyOnHold' %]
652
                                                                    <span>Patron already has hold for this item</span>
621
                                                                <span>Patron already has hold for this item</span>
653
                                                                [% ELSIF itemloo.not_holdable == 'cannotBeTransferred' %]
622
                                                            [% ELSIF itemloo.not_holdable == 'cannotBeTransferred' %]
654
                                                                    <span>Cannot be transferred to pickup library</span>
623
                                                                <span>Cannot be transferred to pickup library</span>
655
                                                                [% ELSIF itemloo.not_holdable == 'pickupNotInHoldGroup' %]
624
                                                            [% ELSIF itemloo.not_holdable == 'pickupNotInHoldGroup' %]
656
                                                                    <span>Only pickup locations within the same hold group are allowed</span>
625
                                                                <span>Only pickup locations within the same hold group are allowed</span>
657
                                                                [% ELSIF itemloo.not_holdable == 'noReservesAllowed' %]
626
                                                            [% ELSIF itemloo.not_holdable == 'noReservesAllowed' %]
658
                                                                    <span>No reserves are allowed on this item</span>
627
                                                                <span>No reserves are allowed on this item</span>
659
                                                                [% ELSIF itemloo.not_holdable == 'libraryNotPickupLocation' %]
628
                                                            [% ELSIF itemloo.not_holdable == 'libraryNotPickupLocation' %]
660
                                                                    <span>Library is not a pickup location</span>
629
                                                                <span>Library is not a pickup location</span>
661
                                                                [% ELSIF itemloo.not_holdable == 'no_valid_pickup_location' %]
630
                                                            [% ELSIF itemloo.not_holdable == 'no_valid_pickup_location' %]
662
                                                                    <span>No valid pickup location</span>
631
                                                                <span>No valid pickup location</span>
663
                                                                [% ELSE %]
632
                                                            [% ELSE %]
664
                                                                    <span>[% itemloo.not_holdable | html %]</span>
633
                                                                <span>[% itemloo.not_holdable | html %]</span>
665
                                                                [% END %]
666
                                                            [% END %]
634
                                                            [% END %]
667
                                                        </span>
668
                                                    [% END # /IF force_hold_level %]
669
                                                </td>
670
                                                <td>
671
                                                [% IF (itemloo.pickup_locations_count > 0) %]
672
                                                    <select name="item_pickup_[% itemloo.itemnumber | html %]" class="pickup_locations" style="width:100%;"
673
                                                            data-item-id="[% itemloo.itemnumber | html %]"
674
                                                            data-patron-id="[% patron.borrowernumber | html %]"
675
                                                            data-pickup-location-source="item">
676
                                                    [% IF (itemloo.default_pickup_location) %]
677
                                                        <option value="[% itemloo.default_pickup_location.branchcode | html %]" selected="selected">[% itemloo.default_pickup_location.branchname | html %]</option>
678
                                                    [% END %]
679
                                                    </select>
680
                                                [% END %]
681
                                                </td>
682
                                                [% IF Koha.Preference('item-level_itypes') %]
683
                                                    <td>
684
                                                        [% UNLESS ( noItemTypeImages ) %]
685
                                                            [% IF ( itemloo.itemtype.image_location) %]<img src="[% itemloo.itemtype.image_location | html %]" alt="" /> <br /> [% END %]
686
                                                        [% END %]
635
                                                        [% END %]
687
                                                        [% itemloo.itemtype.translated_description | html %]
636
                                                    </span>
688
                                                    </td>
637
                                                [% END # /IF force_hold_level %]
638
                                            </td>
639
                                            <td>
640
                                            [% IF (itemloo.pickup_locations_count > 0) %]
641
                                                <select name="item_pickup_[% itemloo.itemnumber | html %]" class="pickup_locations" style="width:100%;"
642
                                                        data-item-id="[% itemloo.itemnumber | html %]"
643
                                                        data-patron-id="[% patron.borrowernumber | html %]"
644
                                                        data-pickup-location-source="item">
645
                                                [% IF (itemloo.default_pickup_location) %]
646
                                                    <option value="[% itemloo.default_pickup_location.branchcode | html %]" selected="selected">[% itemloo.default_pickup_location.branchname | html %]</option>
689
                                                [% END %]
647
                                                [% END %]
648
                                                </select>
649
                                            [% END %]
650
                                            </td>
651
                                            [% IF Koha.Preference('item-level_itypes') %]
690
                                                <td>
652
                                                <td>
691
                                                    [% itemloo.barcode | html %]
653
                                                    [% UNLESS ( noItemTypeImages ) %]
692
                                                </td>
654
                                                        [% IF ( itemloo.itemtype.image_location) %]<img src="[% itemloo.itemtype.image_location | html %]" alt="" /> <br /> [% END %]
693
                                                <td>
655
                                                    [% END %]
694
                                                    [% Branches.GetName( itemloo.homebranch ) | html %]
656
                                                    [% itemloo.itemtype.translated_description | html %]
695
                                                </td>
657
                                                </td>
658
                                            [% END %]
659
                                            <td>
660
                                                [% itemloo.barcode | html %]
661
                                            </td>
662
                                            <td>
663
                                                [% Branches.GetName( itemloo.homebranch ) | html %]
664
                                            </td>
665
                                            <td>
666
                                                [% Branches.GetName( itemloo.holdingbranch ) | html %]
667
                                            </td>
668
                                            [% IF itemdata_ccode %]
696
                                                <td>
669
                                                <td>
697
                                                    [% Branches.GetName( itemloo.holdingbranch ) | html %]
670
                                                    [% IF ( itemloo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemloo.ccode ) | html %][% END %]
698
                                                </td>
671
                                                </td>
699
                                                [% IF itemdata_ccode %]
672
                                            [% END %]
700
                                                    <td>
673
                                            <td>
701
                                                        [% IF ( itemloo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemloo.ccode ) | html %][% END %]
674
                                                [% itemloo.itemcallnumber | html %]
702
                                                    </td>
675
                                            </td>
703
                                                [% END %]
676
                                            <td>
677
                                                [% IF ( itemloo.copynumber ) %][% itemloo.copynumber | html %][% ELSE %]&nbsp;[% END %]
678
                                            </td>
679
                                            [% IF itemdata_enumchron %]
704
                                                <td>
680
                                                <td>
705
                                                    [% itemloo.itemcallnumber | html %]
681
                                                    [% itemloo.enumchron | html %]
706
                                                </td>
682
                                                </td>
683
                                            [% END %]
684
                                            [% IF ( itemloo.onloan ) %]
685
                                                <td data-order="[% itemloo.date_due | html %]">
686
                                                    <span class="checkedout">Due [% itemloo.date_due | $KohaDates  as_due_date => 1 %]</span>
687
                                            [% ELSE %]
707
                                                <td>
688
                                                <td>
708
                                                    [% IF ( itemloo.copynumber ) %][% itemloo.copynumber | html %][% ELSE %]&nbsp;[% END %]
689
                                                    [% IF ( itemloo.transfertwhen ) %]
709
                                                </td>
690
                                                        In transit from [% Branches.GetName( itemloo.transfertfrom ) | html %],
710
                                                [% IF itemdata_enumchron %]
691
                                                        to [% Branches.GetName( itemloo.transfertto ) | html %], since [% itemloo.transfertwhen | html %]
711
                                                    <td>
692
                                                    [% END %]
712
                                                        [% itemloo.enumchron | html %]
693
                                            [% END %]
713
                                                    </td>
714
                                                [% END %]
715
                                                [% IF ( itemloo.onloan ) %]
716
                                                    <td data-order="[% itemloo.date_due | html %]">
717
                                                        <span class="checkedout">Due [% itemloo.date_due | $KohaDates  as_due_date => 1 %]</span>
718
                                                [% ELSE %]
719
                                                    <td>
720
                                                        [% IF ( itemloo.transfertwhen ) %]
721
                                                            In transit from [% Branches.GetName( itemloo.transfertfrom ) | html %],
722
                                                            to [% Branches.GetName( itemloo.transfertto ) | html %], since [% itemloo.transfertwhen | html %]
723
                                                        [% END %]
724
                                                [% END %]
725
694
726
                                                    [% IF ( itemloo.reservedate ) %]
695
                                                [% IF ( itemloo.reservedate ) %]
727
                                                        [% IF ( itemloo.nocancel ) %]
696
                                                    [% IF ( itemloo.nocancel ) %]
728
                                                                Can't be cancelled when item is in transit
697
                                                            Can't be cancelled when item is in transit
698
                                                    [% ELSE %]
699
                                                        [% IF ( itemloo.waitingdate ) %]Waiting[% ELSE %]On hold[% END %]
700
                                                        [% IF ( itemloo.canreservefromotherbranches ) %]
701
                                                            for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% itemloo.ReservedFor.borrowernumber | uri %]">[% itemloo.ReservedFor.firstname | html %] [% itemloo.ReservedFor.surname | html %]</a>
702
                                                        [% END %]
703
                                                        [% IF ( itemloo.waitingdate ) %]at[% ELSE %]expected at[% END %]
704
                                                        [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] since
705
                                                        [% IF ( itemloo.waitingdate ) %]
706
                                                            [% itemloo.waitingdate | $KohaDates %]
729
                                                        [% ELSE %]
707
                                                        [% ELSE %]
730
                                                            [% IF ( itemloo.waitingdate ) %]Waiting[% ELSE %]On hold[% END %]
708
                                                            [% IF ( itemloo.reservedate ) %]
731
                                                            [% IF ( itemloo.canreservefromotherbranches ) %]
709
                                                                [% itemloo.reservedate | html %]
732
                                                                for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% itemloo.ReservedFor.borrowernumber | uri %]">[% itemloo.ReservedFor.firstname | html %] [% itemloo.ReservedFor.surname | html %]</a>
733
                                                            [% END %]
710
                                                            [% END %]
734
                                                            [% IF ( itemloo.waitingdate ) %]at[% ELSE %]expected at[% END %]
711
                                                        [% END %].
735
                                                            [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] since
712
                                                        <a class="info cancel-hold" href="modrequest.pl?CancelBiblioNumber=[% itemloo.biblionumber | html %]&amp;CancelBorrowerNumber=[% itemloo.ReservedFor.borrowernumber | html %]&amp;CancelItemnumber=[% itemloo.itemnumber | html %]">Cancel hold</a>
736
                                                            [% IF ( itemloo.waitingdate ) %]
713
                                                    [% END # /IF itemloo.nocancel %]
737
                                                                [% itemloo.waitingdate | $KohaDates %]
714
                                                [% ELSE %]
738
                                                            [% ELSE %]
715
                                                    Not on hold
739
                                                                [% IF ( itemloo.reservedate ) %]
716
                                                [% END # /IF itemloo.reservedate %]
740
                                                                    [% itemloo.reservedate | html %]
741
                                                                [% END %]
742
                                                            [% END %].
743
                                                            <a class="info cancel-hold" href="modrequest.pl?CancelBiblioNumber=[% itemloo.biblionumber | html %]&amp;CancelBorrowerNumber=[% itemloo.ReservedFor.borrowernumber | html %]&amp;CancelItemnumber=[% itemloo.itemnumber | html %]">Cancel hold</a>
744
                                                        [% END # /IF itemloo.nocancel %]
745
                                                    [% ELSE %]
746
                                                        Not on hold
747
                                                    [% END # /IF itemloo.reservedate %]
748
717
749
                                                    [% IF itemloo.item_level_holds == "N" %]
718
                                                [% IF itemloo.item_level_holds == "N" %]
750
                                                        <br/>Item level hold not allowed from OPAC
719
                                                    <br/>Item level hold not allowed from OPAC
751
                                                    [% ELSIF itemloo.item_level_holds == "F" %]
720
                                                [% ELSIF itemloo.item_level_holds == "F" %]
752
                                                        <br/>Item level hold forced from OPAC
721
                                                    <br/>Item level hold forced from OPAC
753
                                                    [% END %]
722
                                                [% END %]
754
723
755
                                                    [% IF ( itemloo.itemlost ) %]
724
                                                [% IF ( itemloo.itemlost ) %]
756
                                                       <span class="lost">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => itemloo.itemlost ) | html %]</span>
725
                                                   <span class="lost">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => itemloo.itemlost ) | html %]</span>
757
                                                    [% END %]
726
                                                [% END %]
758
727
759
                                                    [% IF ( itemloo.damaged ) %]
728
                                                [% IF ( itemloo.damaged ) %]
760
                                                        <span class="dmg">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => itemloo.damaged ) | html %]</span>
729
                                                    <span class="dmg">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => itemloo.damaged ) | html %]</span>
761
                                                    [% END %]
730
                                                [% END %]
762
731
763
                                                    [% IF ( itemloo.withdrawn ) %]
732
                                                [% IF ( itemloo.withdrawn ) %]
764
                                                       <span class="wdn">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => itemloo.withdrawn ) | html %]</span>
733
                                                   <span class="wdn">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => itemloo.withdrawn ) | html %]</span>
765
                                                    [% END %]
734
                                                [% END %]
735
736
                                                [% IF ( itemloo.notforloan ) %]
737
                                                   <span class="nfl">Not for loan ([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => itemloo.notforloan ) | html %])</span>
738
                                                [% END %]
739
                                            </td>
740
                                        </tr>
741
                                    [% END # / UNLESS itemloo.hide %]
742
                                [% END # /FOREACH itemloo %]
743
                            </tbody>
744
                        </table> <!-- /#requestspecific -->
745
746
                        [% IF hiddencount %]
747
                            <form>
748
                                <p class="hiddencount">
749
                                    <a href="request.pl?biblionumber=[% biblio.biblionumber | uri %]&amp;borrowernumber=[% borrowernumber | uri %]&amp;showallitems=1">Show all items ([% biblio.hiddencount | html %] hidden)</a>
750
                                </p>
751
                            </form>
752
                        [% END # /IF hiddencount %]
753
754
                            <fieldset class="action">
755
                                [% IF ( patron AND patron.borrowernumber ) %]
756
                                    [% IF ( override_required ) %]
757
                                        <button type="submit" class="btn btn-default warning"><i class="fa fa-exclamation-triangle "></i> Place holds</button>
758
                                    [% ELSIF ( none_available ) %]
759
                                        <button class="btn btn-default" type="submit">Place holds</button>
760
                                    [% ELSE %]
761
                                        <button type="submit" class="btn btn-default">Place hold</button>
762
                                    [% END %]
763
                                [% END # /IF patron %]
764
                            </fieldset> <!-- /.action -->
765
                        </form> <!-- /#hold-request-form -->
766
                    </fieldset> <!-- /.rows -->
767
                [% ELSE # Multi-hold %]
768
                    <fieldset class="rows">
769
                        <legend>Hold details</legend>
770
                        <form action="placerequest.pl" method="post" name="form" id="hold-request-form">
771
772
                            <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
773
                            <input type="hidden" name="type" value="str8" />
774
775
                            [% FOREACH biblionumber IN biblionumbers %]
776
                            <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/>
777
                            [% END %]
778
                                <input type="hidden" name="multi_holds" id="multi_holds" value="1" />
779
                                <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
780
                                <input type="hidden" name="request" value="any"/>
781
                                [% FOREACH biblioloo IN biblioloop %]
782
                                    <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/>
783
                                    <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/>
784
                                [% END %]
785
786
                        <ol>
787
788
                            <li>
789
                                <span class="label">Patron:</span>
790
                                [% IF ( patron.borrowernumber ) %]
791
                                    <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">[% patron.firstname | html %] [% patron.surname | html %] ([% patron.cardnumber | html %])</a>
792
                                [% ELSE %]
793
                                    Not defined yet
794
                                [% END %]
795
                            </li>
796
797
                            <li>
798
                                <label for="holdnotes">Notes:</label>
799
                                <textarea id="holdnotes" name="notes" cols="30" rows="1"></textarea>
800
                            </li>
801
                            <li>
802
                                <label for="pickup">Pickup at:</label>
803
                                <select name="pickup" id="pickup_multi" data-patron-id="[% patron.borrowernumber | html %]">
804
                                    <option value="" selected="selected"></option>
805
                                [% FOREACH pickup_location IN multi_pickup_locations %]
806
                                    <option value="[% pickup_location.branchcode | html %]">[% pickup_location.branchname | html %]</option>
807
                                [% END %]
808
                                </select>
809
                            </li>
810
811
812
                            [% IF ( reserve_in_future ) %]
813
                                <li>
814
                                    <label for="from">Hold starts on date:</label>
815
                                    <input id="reserve_date" name="reserve_date" id="from" size="10" type="text" data-date_to="expiration_date" class="flatpickr" data-flatpickr-futuredate="true" />
816
                                </li>
817
                            [% END %]
818
819
                            <li>
820
                                <label for="to">Hold expires on date:</label>
821
                                <input id="expiration_date" name="expiration_date" id="to" size="10" type="text" class="flatpickr" data-flatpickr-futuredate="true" />
822
                            </li>
823
824
825
                            <li id="non_priority_list_item">
826
                                <label for="non_priority">Non priority hold:</label>
827
                                <input name="non_priority" id="non_priority" type="checkbox" />
828
                                <span class="hint">A non priority hold doesn't prevent a current checkout from renewing</span>
829
                            </li>
830
                        </ol>
766
831
767
                                                    [% IF ( itemloo.notforloan ) %]
768
                                                       <span class="nfl">Not for loan ([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => itemloo.notforloan ) | html %])</span>
769
                                                    [% END %]
770
                                                </td>
771
                                            </tr>
772
                                        [% END # / UNLESS itemloo.hide %]
773
                                    [% END # /FOREACH itemloo %]
774
                                </tbody>
775
                            </table> <!-- /#requestspecific -->
776
777
                            [% IF hiddencount %]
778
                                <form>
779
                                    <p class="hiddencount">
780
                                        <a href="request.pl?biblionumber=[% biblio.biblionumber | uri %]&amp;borrowernumber=[% borrowernumber | uri %]&amp;showallitems=1">Show all items ([% biblio.hiddencount | html %] hidden)</a>
781
                                    </p>
782
                                </form>
783
                            [% END # /IF hiddencount %]
784
785
                        [% ELSE # /UNLESS multi_hold %]
786
832
787
                            <table id="requesttitles">
833
                            <table id="requesttitles">
788
                                <tr>
834
                                <tr>
Lines 876-882 Link Here
876
                                [% END # /FOREACH biblioloo %]
922
                                [% END # /FOREACH biblioloo %]
877
                            </table> <!-- /#requesttitles -->
923
                            </table> <!-- /#requesttitles -->
878
924
879
                        [% END # /UNLESS multi_hold %]
880
925
881
                        <fieldset class="action">
926
                        <fieldset class="action">
882
                            [% IF ( patron AND patron.borrowernumber ) %]
927
                            [% IF ( patron AND patron.borrowernumber ) %]
Lines 885-901 Link Here
885
                                [% ELSIF ( none_available ) %]
930
                                [% ELSIF ( none_available ) %]
886
                                    <button class="btn btn-default" type="submit">Place holds</button>
931
                                    <button class="btn btn-default" type="submit">Place holds</button>
887
                                [% ELSE %]
932
                                [% ELSE %]
888
                                    [% IF ( multi_hold ) %]
933
                                    <button type="submit" class="btn btn-default" id="multi_hold_submit">Place holds</button>
889
                                        <button type="submit" class="btn btn-default" id="multi_hold_submit">Place holds</button>
890
                                    [% ELSE %]
891
                                        <button type="submit" class="btn btn-default">Place hold</button>
892
                                    [% END %]
893
                                [% END %]
934
                                [% END %]
894
                            [% END # /IF patron %]
935
                            [% END # /IF patron %]
895
                        </fieldset> <!-- /.action -->
936
                        </fieldset> <!-- /.action -->
896
                    </form> <!-- /#hold-request-form -->
937
                    </form> <!-- /#hold-request-form -->
897
                </fieldset> <!-- /.rows -->
938
                </fieldset> <!-- /.rows -->
898
            [% END %]
939
                [% END %]
940
                [% END %]
899
941
900
            [% UNLESS ( patron ) %]
942
            [% UNLESS ( patron ) %]
901
                [% UNLESS borrowers %]
943
                [% UNLESS borrowers %]
902
- 

Return to bug 30579