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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-3 / +45 lines)
Lines 809-815 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
  [% FOREACH reserveloo IN biblioloo.reserveloop %]
812
813
      [% IF (grouped_holds) %]
814
           [% FOREACH group_level_hold IN grouped_holds %]
815
            <tr>
816
                <td></td>
817
                <td></td>
818
                <td>[% INCLUDE 'patron-title.inc' patron=group_level_hold.patron hide_patron_infos_if_needed=1 %]</td>
819
                <td>[% group_level_hold.hold.notes %]</td>
820
                <td>[% group_level_hold.hold.date %]</td>
821
                <td>[% group_level_hold.hold.expirationdate %]</td>
822
                <td>
823
                [% IF ( group_level_hold.hold.found ) %]
824
                    [% IF ( group_level_hold.hold.atdestination ) %]
825
                        [% IF ( group_level_hold.hold.found ) %]
826
                            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 %]
827
                        [% ELSE %]
828
                            Waiting to be pulled <input type="hidden" name="pickup" value="[% group_level_hold.hold.wbrcode %]" />
829
                        [% END %]
830
                    [% ELSE %]
831
                        Item being transferred to <b> [% group_level_hold.hold.wbrname %]</b> <input type="hidden" name="pickup" value="[% group_level_hold.hold.wbrcode %]" />
832
                    [% END %]
833
                [% ELSE %]
834
                    [% IF Koha.Preference('IndependentBranches') && Branches.all().size  == 1 %]
835
                        [% Branches.GetName(group_level_hold.hold.branchcode) %] <input type="hidden" name="pickup" value="[% group_level_hold.hold.branchcode %]" />
836
                    [% ELSE %]
837
                        <select name="pickup">
838
                            [% PROCESS options_for_libraries libraries => Branches.all( selected => group_level_hold.hold.branchcode ) %]
839
                        </select>
840
                    [% END %]
841
                [% END %]
842
                </td>
843
                <td>
844
                [% IF group_level_hold.hold.hold_group_id %]
845
                    <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>
846
                [% END %]
847
                </td>
848
                <td></td>
849
                <td></td>
850
                <td></td>
851
            </tr>
852
           [% END %]
853
        [% ELSE %]
854
            [% FOREACH reserveloo IN biblioloo.reserveloop %]
813
        <tr>
855
        <tr>
814
        <td>
856
        <td>
815
          <input type="hidden" name="reserve_id" value="[% reserveloo.reserve_id %]" />
857
          <input type="hidden" name="reserve_id" value="[% reserveloo.reserve_id %]" />
Lines 889-895 function checkMultiHold() { Link Here
889
        <td>
931
        <td>
890
    [% IF ( reserveloo.found ) %]
932
    [% IF ( reserveloo.found ) %]
891
          <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% reserveloo.biblionumber %]">
933
          <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% reserveloo.biblionumber %]">
892
                [% IF ( reserveloo.barcodenumber ) %]
934
            [% IF ( reserveloo.barcodenumber ) %]
893
                    [% reserveloo.barcodenumber %]
935
                    [% reserveloo.barcodenumber %]
894
                    <input type="hidden" name="itemnumber" value="[% reserveloo.itemnumber %]" />
936
                    <input type="hidden" name="itemnumber" value="[% reserveloo.itemnumber %]" />
895
                [% ELSE %]
937
                [% ELSE %]
Lines 959-965 function checkMultiHold() { Link Here
959
        [% END # IF SuspendHoldsIntranet %]
1001
        [% END # IF SuspendHoldsIntranet %]
960
1002
961
      </tr>
1003
      </tr>
962
1004
    [% END %]
963
  [% END %] <!-- existing reserveloop -->
1005
  [% END %] <!-- existing reserveloop -->
964
     </table>
1006
     </table>
965
  [% END %]<!-- /reserveloop -->
1007
  [% END %]<!-- /reserveloop -->
(-)a/reserve/request.pl (-1 / +32 lines)
Lines 53-58 use Koha::ItemTypes; Link Here
53
use Koha::Libraries;
53
use Koha::Libraries;
54
use Koha::Patrons;
54
use Koha::Patrons;
55
use POSIX qw(strftime);
55
use POSIX qw(strftime);
56
use Data::Dumper;
56
57
57
my $dbh = C4::Context->dbh;
58
my $dbh = C4::Context->dbh;
58
my $input = new CGI;
59
my $input = new CGI;
Lines 635-640 foreach my $biblionumber (@biblionumbers) { Link Here
635
        push( @reserveloop, \%reserve );
636
        push( @reserveloop, \%reserve );
636
    }
637
    }
637
638
639
    my %reserve_records;
640
    for my $reserve ( @reserveloop ) {
641
       if ($reserve->{'hold_group_id'}) {
642
         # Keep track of which hold_group_id (duplicated field) go with each itemnumber (unique field)
643
         $reserve_records{ $reserve->{hold_group_id} }->{ $reserve->{itemnumber} }++;
644
       }
645
    }
646
647
    my @grouped_parts;
648
    for my $hold_group ( sort { $a <=> $b } keys %reserve_records ) {
649
       my @tickets = sort { $a <=> $b } keys %{ $reserve_records{ $hold_group } };
650
       my @holds = GetHoldGroupHolds($hold_group);
651
       my $hold = $holds[0];
652
       my $patron = Koha::Patrons->find( {borrowernumber => $hold->{borrowernumber}} );
653
654
       # Merge the ticket ids with each ipn
655
       push @grouped_parts, {
656
           hold_group_id => $hold_group,
657
           itemnumber => join(', ', sort { $a <=> $b } @tickets),
658
           hold => $hold,
659
           patron => $patron,
660
       };
661
    }
662
663
    foreach my $hold (@grouped_parts) {
664
        warn Dumper($hold->{hold});
665
    }
666
    if (@grouped_parts) {
667
        $template->param( grouped_holds => \@grouped_parts );
668
    }
669
638
    # get the time for the form name...
670
    # get the time for the form name...
639
    my $time = time();
671
    my $time = time();
640
672
641
- 

Return to bug 21528