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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-4 / +42 lines)
Lines 809-814 function checkMultiHold() { Link Here
809
	<th>&nbsp;</th>
809
	<th>&nbsp;</th>
810
    [% IF SuspendHoldsIntranet %]<th>&nbsp;</th><!-- Suspend Holds Column Header -->[% END %]
810
    [% IF SuspendHoldsIntranet %]<th>&nbsp;</th><!-- Suspend Holds Column Header -->[% END %]
811
      </tr>
811
      </tr>
812
      [% IF (grouped_holds) %]
813
          [% FOREACH group_level_hold IN grouped_holds %]
814
            <tr>
815
                <td>Group hold: <a href="/cgi-bin/koha/reserve/hold-group.pl?hold_group_id=[% group_level_hold.hold.hold_group_id %]">hold group</a></td>
816
                <td></td>
817
                <td>[% INCLUDE 'patron-title.inc' patron=group_level_hold.patron hide_patron_infos_if_needed=1 %]</td>
818
                <td>[% group_level_hold.hold.reservenotes %]</td>
819
                <td>[% group_level_hold.hold.reservedate | $KohaDates %]</td>
820
                <td>[% group_level_hold.hold.expirationdate | $KohaDates %]</td>
821
                <td>
822
                    [% IF ( group_level_hold.hold.found ) %]
823
                        [% IF ( group_level_hold.hold.atdestination ) %]
824
                            [% IF ( group_level_hold.hold.found ) %]
825
                                Item waiting at <b> [% group_level_hold.hold.wbrname %]</b> <input type="hidden" name="pickup" value="[% group_level_hold.hold.wbrcode %]" /> since [% group_level_hold.hold.waiting_date | $KohaDates %]
826
                            [% ELSE %]
827
                                Waiting to be pulled <input type="hidden" name="pickup" value="[% group_level_hold.hold.wbrcode %]" />
828
                            [% END %]
829
                        [% ELSE %]
830
                            Item being transferred to <b> [% group_level_hold.hold.wbrname %]</b> <input type="hidden" name="pickup" value="[% group_level_hold.hold.wbrcode %]" />
831
                        [% END %]
832
                    [% ELSE %]
833
                        [% IF Koha.Preference('IndependentBranches') && Branches.all().size  == 1 %]
834
                            [% Branches.GetName(group_level_hold.hold.branchcode) %] <input type="hidden" name="pickup" value="[% group_level_hold.hold.branchcode %]" />
835
                        [% ELSE %]
836
                            <select name="pickup">
837
                                [% PROCESS options_for_libraries libraries => Branches.all( selected => group_level_hold.hold.branchcode ) %]
838
                            </select>
839
                        [% END %]
840
                    [% END %]
841
                </td>
842
                <td>
843
                    [% IF group_level_hold.hold.hold_group_id %]
844
                        <div>(part of a <a href="/cgi-bin/koha/reserve/hold-group.pl?hold_group_id=[% group_level_hold.hold.hold_group_id %]">hold group</a>)</div>
845
                    [% END %]
846
                </td>
847
                <td></td>
848
                <td></td>
849
                <td></td>
850
            </tr>
851
          [% END %]
852
    [% END %]
853
812
  [% FOREACH reserveloo IN biblioloo.reserveloop %]
854
  [% FOREACH reserveloo IN biblioloo.reserveloop %]
813
        <tr>
855
        <tr>
814
        <td>
856
        <td>
Lines 917-925 function checkMultiHold() { Link Here
917
                 <input type="hidden" name="itemnumber" value="" />
959
                 <input type="hidden" name="itemnumber" value="" />
918
            [% END %]
960
            [% END %]
919
    [% END %]
961
    [% END %]
920
            [% IF reserveloo.hold_group_id %]
921
                <div>(part of a <a href="/cgi-bin/koha/reserve/hold-group.pl?hold_group_id=[% reserveloo.hold_group_id %]">hold group</a>)</div>
922
            [% END %]
923
        </td>
962
        </td>
924
963
925
    [% IF ( CAN_user_reserveforothers_modify_holds_priority ) %]
964
    [% IF ( CAN_user_reserveforothers_modify_holds_priority ) %]
Lines 959-965 function checkMultiHold() { Link Here
959
        [% END # IF SuspendHoldsIntranet %]
998
        [% END # IF SuspendHoldsIntranet %]
960
999
961
      </tr>
1000
      </tr>
962
963
  [% END %] <!-- existing reserveloop -->
1001
  [% END %] <!-- existing reserveloop -->
964
     </table>
1002
     </table>
965
  [% END %]<!-- /reserveloop -->
1003
  [% END %]<!-- /reserveloop -->
(-)a/reserve/request.pl (-3 / +36 lines)
Lines 42-47 use Koha::DateUtils; Link Here
42
use C4::Utils::DataTables::Members;
42
use C4::Utils::DataTables::Members;
43
use C4::Members;
43
use C4::Members;
44
use C4::Search;		# enabled_staff_search_views
44
use C4::Search;		# enabled_staff_search_views
45
use Data::Dumper;
45
46
46
use Koha::Biblios;
47
use Koha::Biblios;
47
use Koha::DateUtils;
48
use Koha::DateUtils;
Lines 568-573 foreach my $biblionumber (@biblionumbers) { Link Here
568
        } @reserves
569
        } @reserves
569
      )
570
      )
570
    {
571
    {
572
571
        my $priority = $res->priority();
573
        my $priority = $res->priority();
572
        my %reserve;
574
        my %reserve;
573
        my @optionloop;
575
        my @optionloop;
Lines 580-586 foreach my $biblionumber (@biblionumbers) { Link Here
580
                }
582
                }
581
            );
583
            );
582
        }
584
        }
583
584
        if ( $res->is_found() ) {
585
        if ( $res->is_found() ) {
585
            $reserve{'holdingbranch'} = $res->item()->holdingbranch();
586
            $reserve{'holdingbranch'} = $res->item()->holdingbranch();
586
            $reserve{'biblionumber'}  = $res->item()->biblionumber();
587
            $reserve{'biblionumber'}  = $res->item()->biblionumber();
Lines 631-640 foreach my $biblionumber (@biblionumbers) { Link Here
631
        $reserve{itemtype}         = $res->itemtype();
632
        $reserve{itemtype}         = $res->itemtype();
632
        $reserve{branchcode}       = $res->branchcode();
633
        $reserve{branchcode}       = $res->branchcode();
633
        $reserve{'hold_group_id'} = $res->hold_group_id;
634
        $reserve{'hold_group_id'} = $res->hold_group_id;
634
635
        push( @reserveloop, \%reserve );
635
        push( @reserveloop, \%reserve );
636
    }
636
    }
637
637
638
    my %reserve_records;
639
    my $count = 0;
640
    foreach my $reserve ( @reserves ) {
641
        warn $reserve->reserve_id;
642
        if ($reserve->hold_group_id) {
643
           # Keep track of which hold_group_id (duplicated field) go with each reserve_id (unique field)
644
           $reserve_records{ $reserve->hold_group_id }->{ $reserve->reserve_id }++;
645
           warn $reserve->reserve_id;
646
           @reserveloop = grep { $_->{reserve_id} != $reserve->reserve_id } @reserveloop;
647
       }else {
648
            warn $reserve->reserve_id;
649
            warn $reserve->hold_group_id;
650
        }
651
    }
652
    my @grouped_parts;
653
    for my $hold_group ( sort { $a <=> $b } keys %reserve_records ) {
654
       my @reserveids = sort { $a <=> $b } keys %{ $reserve_records{ $hold_group } };
655
656
       my @holds = GetHoldGroupHolds($hold_group);
657
       my $hold = $holds[0];
658
       my $patron = Koha::Patrons->find( {borrowernumber => $hold->{borrowernumber}} );
659
660
       # Merge the itemnumbers with each hold_group_id
661
       push @grouped_parts, {
662
           hold_group_id => $hold_group,
663
           reserve_id => join(', ', sort { $a <=> $b } @reserveids),
664
           hold => $hold,
665
           patron => $patron,
666
       };
667
    }
668
    if (@grouped_parts) {
669
        $template->param( grouped_holds => \@grouped_parts );
670
    }
671
638
    # get the time for the form name...
672
    # get the time for the form name...
639
    my $time = time();
673
    my $time = time();
640
674
641
- 

Return to bug 21528