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

(-)a/recalls/recalls_to_pull.pl (-15 / +9 lines)
Lines 18-23 Link Here
18
18
19
use Modern::Perl;
19
use Modern::Perl;
20
use CGI qw ( -utf8 );
20
use CGI qw ( -utf8 );
21
use List::MoreUtils qw( uniq );
22
21
use C4::Auth qw( get_template_and_user );
23
use C4::Auth qw( get_template_and_user );
22
use C4::Output qw( output_html_with_http_headers );
24
use C4::Output qw( output_html_with_http_headers );
23
use Koha::BiblioFrameworks;
25
use Koha::BiblioFrameworks;
Lines 63-69 if ( $op eq 'list' ) { Link Here
63
                { order_by => { -asc => 'created_date' } }
65
                { order_by => { -asc => 'created_date' } }
64
            )->as_list;
66
            )->as_list;
65
            my $recalls_count = scalar @this_bib_recalls;
67
            my $recalls_count = scalar @this_bib_recalls;
66
            my @unique_patrons = do { my %seen; grep { !$seen{$_->patron_id}++ } @this_bib_recalls };
68
            my @unique_patrons = uniq @this_bib_recalls ;
67
            my $patrons_count = scalar @unique_patrons;
69
            my $patrons_count = scalar @unique_patrons;
68
            my $first_recall = $this_bib_recalls[0];
70
            my $first_recall = $this_bib_recalls[0];
69
71
Lines 93-105 if ( $op eq 'list' ) { Link Here
93
            # don't push data if there are no items available for this recall
95
            # don't push data if there are no items available for this recall
94
96
95
                # get unique values
97
                # get unique values
96
                my @unique_callnumbers = do { my %seen; grep { !$seen{$_}++ } @callnumbers };
97
                my @unique_copynumbers = do { my %seen; grep { !$seen{$_}++ } @copynumbers };
98
                my @unique_enumchrons = do { my %seen; grep { !$seen{$_}++ } @enumchrons };
99
                my @unique_itemtypes = do { my %seen; grep { !$seen{$_}++ } @itemtypes };
100
                my @unique_locations = do { my %seen; grep { !$seen{$_}++ } @locations };
101
                my @unique_libraries = do { my %seen; grep { !$seen{$_}++ } @libraries };
102
103
                push( @pull_list, {
98
                push( @pull_list, {
104
                    biblio => $biblio,
99
                    biblio => $biblio,
105
                    items_count => $items_count,
100
                    items_count => $items_count,
Lines 107-118 if ( $op eq 'list' ) { Link Here
107
                    patrons_count => $patrons_count,
102
                    patrons_count => $patrons_count,
108
                    pull_count => $items_count <= $recalls_count ? $items_count : $recalls_count,
103
                    pull_count => $items_count <= $recalls_count ? $items_count : $recalls_count,
109
                    first_recall => $first_recall,
104
                    first_recall => $first_recall,
110
                    callnumbers => \@unique_callnumbers,
105
                    callnumbers   => [ uniq @callnumbers ],
111
                    copynumbers => \@unique_copynumbers,
106
                      copynumbers => [ uniq @copynumbers ],
112
                    enumchrons => \@unique_enumchrons,
107
                      enumchrons  => [ uniq @enumchrons ],
113
                    itemtypes => \@unique_itemtypes,
108
                      itemtypes   => [ uniq @itemtypes ],
114
                    locations => \@unique_locations,
109
                      locations   => [ uniq @locations ],
115
                    libraries => \@unique_libraries,
110
                      libraries   => [ uniq @libraries ],
116
                });
111
                });
117
            }
112
            }
118
        }
113
        }
119
- 

Return to bug 30877