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