Lines 91-114
eval {
Link Here
|
91 |
my ( $llx, $lly ) = 0, 0; |
91 |
my ( $llx, $lly ) = 0, 0; |
92 |
( undef, undef, $llx, $lly ) = $pc_template->get_label_position($start_card); |
92 |
( undef, undef, $llx, $lly ) = $pc_template->get_label_position($start_card); |
93 |
|
93 |
|
|
|
94 |
# sort the borrower list by the order_by field |
95 |
sub sort_borrowerlist { |
96 |
my ( $list, $order_by ) = @_; # $list is a reference to an array of borrower numbers |
97 |
my @borrower_list = @$list; |
98 |
if ($order_by) { |
99 |
@borrower_list = |
100 |
map { $_->borrowernumber } |
101 |
Koha::Patrons->search( { borrowernumber => { -in => \@borrower_list } }, { order_by => [$order_by] } ) |
102 |
->as_list; |
103 |
} |
104 |
return @borrower_list; |
105 |
} |
106 |
|
94 |
if (@label_ids) { |
107 |
if (@label_ids) { |
95 |
my $batch_items = $batch->get_attr('items'); |
108 |
my $batch_items = $batch->get_attr('items'); |
|
|
109 |
my @selected_borrower; |
96 |
grep { |
110 |
grep { |
97 |
my $label_id = $_; |
111 |
my $label_id = $_; |
98 |
push( @{$items}, grep { $_->{'label_id'} == $label_id; } @{$batch_items} ); |
112 |
push( @selected_borrower, grep { $_->{'label_id'} == $label_id; } @{$batch_items} ); |
99 |
} @label_ids; |
113 |
} @label_ids; |
|
|
114 |
@selected_borrower = map { $_->{borrower_number} } @selected_borrower; |
115 |
@selected_borrower = sort_borrowerlist( \@selected_borrower, $order_by ) if ($order_by); |
116 |
grep { push( @{$items}, { borrower_number => $_ } ); } @selected_borrower; |
100 |
} elsif (@borrower_numbers) { |
117 |
} elsif (@borrower_numbers) { |
|
|
118 |
@borrower_numbers = sort_borrowerlist( \@borrower_numbers, $order_by ) if ($order_by); |
101 |
grep { push( @{$items}, { borrower_number => $_ } ); } @borrower_numbers; |
119 |
grep { push( @{$items}, { borrower_number => $_ } ); } @borrower_numbers; |
102 |
} elsif ($patronlist_id) { |
120 |
} elsif ($patronlist_id) { |
103 |
my ($list) = GetPatronLists( { patron_list_id => $patronlist_id } ); |
121 |
my ($list) = GetPatronLists( { patron_list_id => $patronlist_id } ); |
104 |
my @borrowerlist = |
122 |
my @borrowerlist = |
105 |
$list->patron_list_patrons()->search_related('borrowernumber')->get_column('borrowernumber')->all(); |
123 |
$list->patron_list_patrons()->search_related('borrowernumber')->get_column('borrowernumber')->all(); |
106 |
@borrowerlist = |
124 |
@borrowerlist = sort_borrowerlist( \@borrowerlist, $order_by ) if ($order_by); |
107 |
map { $_->borrowernumber } |
|
|
108 |
Koha::Patrons->search( { borrowernumber => { -in => \@borrowerlist } }, { order_by => [$order_by] } ) |
109 |
->as_list |
110 |
if ($order_by); |
111 |
grep { push( @{$items}, { borrower_number => $_ } ); } @borrowerlist; |
125 |
grep { push( @{$items}, { borrower_number => $_ } ); } @borrowerlist; |
|
|
126 |
} elsif ($batch_id) { |
127 |
$items = $batch->get_attr('items'); |
128 |
my @borrowerlist = map { $_->{'borrower_number'} } @{$items}; |
129 |
@borrowerlist = sort_borrowerlist( \@borrowerlist, $order_by ) if ($order_by); |
130 |
@{$items} = map { { borrower_number => $_ } } @borrowerlist; |
131 |
|
112 |
} else { |
132 |
} else { |
113 |
$items = $batch->get_attr('items'); |
133 |
$items = $batch->get_attr('items'); |
114 |
} |
134 |
} |