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