Lines 134-146
my $limit_ind_branch =
Link Here
|
134 |
&& !C4::Context->IsSuperLibrarian() |
134 |
&& !C4::Context->IsSuperLibrarian() |
135 |
&& C4::Context->userenv->{branch} ) ? 1 : 0; |
135 |
&& C4::Context->userenv->{branch} ) ? 1 : 0; |
136 |
|
136 |
|
137 |
my $branch = $query->param("branch") || ''; |
137 |
my @branch = $query->param("branch"); |
138 |
if ( C4::Context->preference("IndependentBranches") |
138 |
if ( C4::Context->preference("IndependentBranches") |
139 |
&& C4::Context->userenv |
139 |
&& C4::Context->userenv |
140 |
&& !C4::Context->IsSuperLibrarian() ) |
140 |
&& !C4::Context->IsSuperLibrarian() ) |
141 |
{ |
141 |
{ |
142 |
$branch = C4::Context->userenv->{'branch'}; |
142 |
@branch = ( C4::Context->userenv->{'branch'} ); |
143 |
} |
143 |
} |
|
|
144 |
# if stripping nonlocal items, use loggedinuser's branch |
145 |
my $localbranch = C4::Context->userenv->{'branch'}; |
146 |
|
147 |
my %branchmap = map { $_ => 1 } @branch; # for quick lookups |
144 |
|
148 |
|
145 |
my $backupdir = C4::Context->config('backupdir'); |
149 |
my $backupdir = C4::Context->config('backupdir'); |
146 |
|
150 |
|
Lines 246-252
if ( $op eq "export" ) {
Link Here
|
246 |
itemstable => $itemstable, |
250 |
itemstable => $itemstable, |
247 |
StartingBiblionumber => $StartingBiblionumber, |
251 |
StartingBiblionumber => $StartingBiblionumber, |
248 |
EndingBiblionumber => $EndingBiblionumber, |
252 |
EndingBiblionumber => $EndingBiblionumber, |
249 |
branch => $branch, |
253 |
branch => \@branch, |
250 |
start_callnumber => $start_callnumber, |
254 |
start_callnumber => $start_callnumber, |
251 |
end_callnumber => $end_callnumber, |
255 |
end_callnumber => $end_callnumber, |
252 |
start_accession => $start_accession, |
256 |
start_accession => $start_accession, |
Lines 323-329
if ( $op eq "export" ) {
Link Here
|
323 |
# Someone is trying to mess us up |
327 |
# Someone is trying to mess us up |
324 |
exit; |
328 |
exit; |
325 |
} |
329 |
} |
326 |
|
|
|
327 |
unless (@biblionumbers) { |
330 |
unless (@biblionumbers) { |
328 |
my $sth = $dbh->prepare($sql_query); |
331 |
my $sth = $dbh->prepare($sql_query); |
329 |
$sth->execute(@sql_params); |
332 |
$sth->execute(@sql_params); |
Lines 364-377
if ( $op eq "export" ) {
Link Here
|
364 |
my ( $homebranchfield, $homebranchsubfield ) = |
367 |
my ( $homebranchfield, $homebranchsubfield ) = |
365 |
GetMarcFromKohaField( 'items.homebranch', '' ); |
368 |
GetMarcFromKohaField( 'items.homebranch', '' ); |
366 |
for my $itemfield ( $record->field($homebranchfield) ) { |
369 |
for my $itemfield ( $record->field($homebranchfield) ) { |
367 |
|
|
|
368 |
# if stripping nonlocal items, use loggedinuser's branch if they didn't select one |
369 |
$branch = C4::Context->userenv->{'branch'} |
370 |
unless $branch; |
371 |
$record->delete_field($itemfield) |
370 |
$record->delete_field($itemfield) |
372 |
if ( $dont_export_items |
371 |
if ( $dont_export_items |
373 |
|| $itemfield->subfield($homebranchsubfield) ne |
372 |
|| $localbranch ne $itemfield->subfield( |
374 |
$branch ); |
373 |
$homebranchsubfield) ); |
375 |
} |
374 |
} |
376 |
} |
375 |
} |
377 |
} |
376 |
} |
Lines 472-478
else {
Link Here
|
472 |
push @branchloop, |
471 |
push @branchloop, |
473 |
{ |
472 |
{ |
474 |
value => $thisbranch, |
473 |
value => $thisbranch, |
475 |
selected => $thisbranch eq $branch, |
474 |
selected => %branchmap ? $branchmap{$thisbranch} : 1, |
476 |
branchname => $branches->{$thisbranch}->{'branchname'}, |
475 |
branchname => $branches->{$thisbranch}->{'branchname'}, |
477 |
}; |
476 |
}; |
478 |
} |
477 |
} |
Lines 547-560
sub construct_query {
Link Here
|
547 |
my $itemstable = $params->{itemstable}; |
546 |
my $itemstable = $params->{itemstable}; |
548 |
my $StartingBiblionumber = $params->{StartingBiblionumber}; |
547 |
my $StartingBiblionumber = $params->{StartingBiblionumber}; |
549 |
my $EndingBiblionumber = $params->{EndingBiblionumber}; |
548 |
my $EndingBiblionumber = $params->{EndingBiblionumber}; |
550 |
my $branch = $params->{branch}; |
549 |
my @branch = @{ $params->{branch} }; |
551 |
my $start_callnumber = $params->{start_callnumber}; |
550 |
my $start_callnumber = $params->{start_callnumber}; |
552 |
my $end_callnumber = $params->{end_callnumber}; |
551 |
my $end_callnumber = $params->{end_callnumber}; |
553 |
my $start_accession = $params->{start_accession}; |
552 |
my $start_accession = $params->{start_accession}; |
554 |
my $end_accession = $params->{end_accession}; |
553 |
my $end_accession = $params->{end_accession}; |
555 |
my $itemtype = $params->{itemtype}; |
554 |
my $itemtype = $params->{itemtype}; |
556 |
my $items_filter = |
555 |
my $items_filter = |
557 |
$branch |
556 |
@branch |
558 |
|| $start_callnumber |
557 |
|| $start_callnumber |
559 |
|| $end_callnumber |
558 |
|| $end_callnumber |
560 |
|| $start_accession |
559 |
|| $start_accession |
Lines 576-584
sub construct_query {
Link Here
|
576 |
push @sql_params, $EndingBiblionumber; |
575 |
push @sql_params, $EndingBiblionumber; |
577 |
} |
576 |
} |
578 |
|
577 |
|
579 |
if ($branch) { |
578 |
if (@branch) { |
580 |
$sql_query .= " AND homebranch = ? "; |
579 |
$sql_query .= " AND homebranch IN (".join(',',map({'?'} @branch)).")"; |
581 |
push @sql_params, $branch; |
580 |
push @sql_params, @branch; |
582 |
} |
581 |
} |
583 |
|
582 |
|
584 |
if ($start_callnumber) { |
583 |
if ($start_callnumber) { |
585 |
- |
|
|