|
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 |
} |